Evolving the Compile-time-mapper to
<1> become more powerful and generic for non-type enum based key parameter.
<2> Support compile time strings as keys.