T? enumFromString<T>(List<T> enumValues, String? value) { if (value == null) return null; return enumValues.singleWhereOrNull( (enumItem) => enumToString(enumItem) == value, ); }