Returns an Enum given a Key [Value] pair
T? toEnum<T>(String? key, List<T> values) { try { return values.firstWhereOrNull((v) => key == fromEnum(v)); } catch (e) { return null; } }