Identifies the const enum type being mapped
A new frozen (immutable) object which contains a property for each key and value that returns the value.
const enum Animal {
   Dog = 0,
   Cat = 1,
   Butterfly = 2,
   Bear = 3
}
const animalMap = createEnumValueMap<typeof Animal>({
   Dog: Animal.Dog,
   Cat: Animal.Cat,
   Butterfly: Animal.Butterfly,
   Bear: Animal.Bear
});
// You end up with an object that maps everything to the name
animalMap.Dog === 0;     // true
animalMap[0] === 0;      // true
animalMap["Dog"] === 0;  // true
animalMap.Cat === 1;     // true
animalMap[1] === 1;      // true
animalMap["Cat"] === 1;  // true
// Helper function to always return the "Name" of the type of animal
function getAnimalValue(type: string | number | Animal) {
    return animalMap[type];
}
Create a map object which contains both the perperty key and value which both map to the resulting value, E[key] => value and E[value] => value.