Nope, like this!
A string would be used to determine which version of said struct to use:
A map would be a container for the structs. Then the struct is a container for the variables. That way your variables are still grouped the way you need them, but your structs are organized and can be called upon.