code: @SuppressWarnings("unchecked")
  	public static <T extends Enum<T>> T likeValueOf(Class<T> enumClass, Object value) {
  		if(value instanceof CharSequence) {
  			value = value.toString().trim();
  		}
  		
  		final Field[] fields = ReflectUtil.getFields(enumClass);
  		final Enum<?>[] enums = enumClass.getEnumConstants();
  		String fieldName;
  		for (Field field : fields) {
  			fieldName = field.getName();
  			if (field.getType().isEnum() || "ENUM$VALUES".equals(fieldName) || "ordinal".equals(fieldName)) {
  				//跳过一些特殊字段
  				continue;
  			}
  			for (Enum<?> enumObj : enums) {
  				if(ObjectUtil.equal(value, ReflectUtil.getFieldValue(enumObj, field))) {
  					return (T) enumObj;
  				}
  			}
  		}
  		return null;
  	}
docs: 模糊匹配转换为枚举，给定一个值，匹配枚举中定义的所有字段名（包括name属性），一旦匹配到返回这个枚举对象，否则返回null
  
  @param enumClass 枚举类
  @param value 值
  @return 匹配到的枚举对象，未匹配到返回null