def validate(self):
if not isinstance(self.enum, enumeration.EnumMeta):<EOL><INDENT>raise TypeError(<EOL>'<STR_LIT>'.format(<EOL>self.enum))<EOL><DEDENT>if self.value is not None:<EOL><INDENT>if not isinstance(self.value, self.enum):<EOL><INDENT>raise TypeError(<EOL>'<STR_LIT>'.format(<EOL>self.value, self.enum))<EOL><DEDENT>if type(self.value.value) not in six.integer_types:<EOL><INDENT>raise TypeError('<STR_LIT>')<EOL><DEDENT>else:<EOL><INDENT>if self.value.value > Enumeration.MAX:<EOL><INDENT>raise ValueError(<EOL>'<STR_LIT>')<EOL><DEDENT>elif self.value.value < Enumeration.MIN:<EOL><INDENT>raise ValueError(<EOL>'<STR_LIT>')<EOL><DEDENT><DEDENT><DEDENT>
Verify that the value of the Enumeration is valid.

Raises:
    TypeError: if the enum is not of type Enum
    ValueError: if the value is not of the expected Enum subtype or if
        the value cannot be represented by an unsigned 32-bit integer