In Orchestrator, we have a configuration with variables for Assembler input values.
The configuration is called Self-Service Codes. It has variables named after inputs on our self-service form. Variable 'env' is an Array/String with all the values for the 'env' input on the Assembler template. Variable 'sites' is an Array/String with the values for the 'sites' input. And so on. Here's a screenshot:

We built an action named getSelfServiceCodes. It queries the Self-Service Codes configuration and returns the contents of the desired variable.

In Assembler, we set the inputs to have an enumerated list, and the list type to "External Source." The external source is the getSelfServiceCodes action with the appropriate variable. In the screenshot below, the input 'env' calls getSelfServiceCodes with the variable 'env'

This works great. However, I want to the inputs to be key-value pairs instead of just an array of Strings. In the example above, our users might not understand that d, t, and p correspond to development, test, and production. It's better to set key-value pairs, where the user sees dev, test, and prod while d, t, and p are sent to the workflow.
I can select "Keys and values" in the enumerated list type. But that requires me to manually enter the key-value pairs. I want to keep using external source, but return an array of key-value pairs instead of an array of Strings.
Is this possible?
-------------------------------------------