Hash method added for all EnumData classes that extends BaseEnumData.

Name should be unique enough for enum. Why is the enumclass also needed?

ok for checkin.