enum {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}} {
{{#allowableValues}}{{#enumVars}}
    {{#enumDescription}}
        /**
        * {{.}}
        */
    {{/enumDescription}}
    {{{name}}}({{{value}}}){{^-last}},
    {{/-last}}{{/enumVars}}{{/allowableValues}}

    private final {{{dataType}}} value

    {{{datatypeWithEnum}}}{{^datatypeWithEnum}}{{{classname}}}{{/datatypeWithEnum}}({{{dataType}}} value) {
        this.value = value
    }

    {{{dataType}}} getValue() {
        value
    }

    @Override
    String toString() {
        String.valueOf(value)
    }
}