@SuppressWarnings("unchecked")
    @Override
    public Enum<?> newInstance() {
        Enum<?> enumInstance = null;
        try {
            Class enumClass = ClassUtil.forName(type);
            String enumValue = (String) get("value");
            if (enumValue == null) {
                Object[] enumConstants = enumClass.getEnumConstants();
                enumValue = ((Enum) enumConstants[0]).name();
            }
            enumInstance = Enum.valueOf(enumClass, enumValue);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return enumInstance;
    }