Fix the hash() method bug

Bug fix: Two different EnumValues can return the same hash