@make_certifier()<EOL>def certify_enum(value, kind=None, required=True):
if certify_required(<EOL>value=value,<EOL>required=required,<EOL>):<EOL><INDENT>return<EOL><DEDENT>if not isinstance(value, kind):<EOL><INDENT>raise CertifierTypeError(<EOL>message="<STR_LIT>".format(<EOL>expected=kind.__name__, actual=value.__class__.__name__),<EOL>value=value,<EOL>required=required,<EOL>)<EOL><DEDENT>
Certifier for enum.

:param value:
    The value to be certified.
:param kind:
    The enum type that value should be an instance of.
:param bool required:
    Whether the value can be `None`. Defaults to True.
:raises CertifierTypeError:
    The type is invalid