BUG-2498: optimize enum's forValue() method

Use an ImmutableMap, as it provides optimized lookups based on
cardinality. Also hide the map from the package and turn it into a
constant.

Change-Id: I01591e56646705891fcc3fb8b871071169d35093
Signed-off-by: Robert Varga <rovarga@cisco.com>
(cherry picked from commit b488843d4da2ce059233258789371d9c6768da56)