Metric_relabel_configs indirection/denormalisation

For each target, I have some KV/associative array/hash/map data. I can inject this data as labels (each either as a tuple entirely within the label key; as separate keys and values with keys embedded in label names and values as the labels’ values; or aggregated together with all tuples merged into one value).

That is, I have either:

__tmp_asTuple_foo_fooValue: 1
__tmp_asTuple_bar_SomethingElse: 1
__tmp_asTuple_quux_NobodyWantsMe: 1

or

__tmp_byKey_foo: fooValue
__tmp_byKey_bar: SomethingElse
__tmp_byKey_quux: NobodyWantsMe

or

__tmp_allTogetherNow: 'foo:fooValue;bar:SomethingElse;quux:NobodyWantsMe'

Along with raw series data like:

series1 { myKey = "foo" }
series2 { myKey = "bar" }
series3 { myKey = "baz" }

What I want to have in the end is:

series1 { myKey = "foo", myValue = "fooValue" }
series2 { myKey = "bar", myValue = "SomethingElse" }
series3 { myKey = "baz" }

I think that I’d be able to do this with metric_relabel_configs if backreferences were supported, or if my key space/domain was small and closed (technically it is closed, but there’s trillions of potential keys, so enumerating all of the possibilities isn’t anywhere close to feasible).

I’m at a loss on how to do this sort of denormalisation/chained lookup via relabeling (where we select which label to relabel based on the value of a different label (with a static/known name)). Is this possible, or do I have to resign myself to ugly and cumbersome lookups at query time?