def __init__(self, name, valueNames):
super(HEnum, self).__init__()<EOL>self.name = name<EOL>self._allValues = tuple(valueNames)<EOL>for name in valueNames:<EOL><INDENT>v = self.fromPy(name)<EOL>assert not hasattr(self, name)<EOL>setattr(self, name, v)<EOL><DEDENT>
:param name: name for this type
:param valueNames: sequence of string which will be used as names
    for enum members