public static <E extends Enum<E>> E getEnumProperty( String name, Class<E> enumType, E defaultValue )
    {
        String value = getProperty( name );
        if ( value != null )
        {
            try
            {
                return E.valueOf( enumType, value );
            }
            catch ( IllegalArgumentException e )
            {
                // Ignore
            }
        }
        return defaultValue;
    }
Returns an enum constant Jive property. If the specified property doesn't exist, or if it's value cannot be parsed
as an enum constant, the {@code defaultValue} will be returned.

@param name the name of the property to return.
@param enumType the {@code Class} object of the enum type from which to return a constant.
@param defaultValue value returned if the property doesn't exist or it's value could not be parsed.
@param <E> The enum type whose constant is to be returned.
@return the property value (as an enum constant) or {@code defaultValue}.
xmppserver/src/main/java/org/jivesoftware/util/JiveGlobals.java