Unfortunately, there isn’t a terribly elegant way to do this in Octopus since Common Variables are not scoped to anything other than the Tenant.
Tenant Common Variables are similar to project variables. The main difference between the two is that common variables can be used across multiple projects, and they aren’t scoped to environments. Common variables are defined using Library variable set templates.
However, you can achieve this level of scoping (by Target or Environment + Tenants via Tenant Tags) using either Project level Variables or a Library Variable Set.