removed number of enumerator from data type enumeration

to eliminate the need for the number of enumerator changed the bit mask
data type array to an unordered map in table constructor, and removed
the equivalent data type function from the table class (was only
returning the input value), removed the call to equivalent data type
function in LET translate function, and added an enum class hash for
converting enum class values to integers (needed for unordered maps
using enum class enumerators)