enum AccessType { onlineOnetime, onlineMultiple, offlineOnetime, offlineMultiple, } extension AccessTypeExtension on AccessType { String get value { switch (this) { case AccessType.onlineOnetime: return "Online Password"; case AccessType.onlineMultiple: return "online Multiple Password"; case AccessType.offlineOnetime: return "Offline Onetime Password"; case AccessType.offlineMultiple: return "Offline Multiple Password"; } } static AccessType fromString(String value) { switch (value) { case "ONLINE_ONETIME": return AccessType.onlineOnetime; case "ONLINE_MULTIPLE": return AccessType.onlineMultiple; case "OFFLINE_ONETIME": return AccessType.offlineOnetime; case "OFFLINE_MULTIPLE": return AccessType.offlineMultiple; default: throw ArgumentError("Invalid access type: $value"); } } }