T toEnum<T>(List values, String key, Map<String, dynamic> map) { return values.firstWhere((element) => describeEnum(element) == map[key]); }