added the KeyedEnum interface