public enum ClimateZone: String, CaseIterable, Codable, Equatable, Sendable { // NOTE: Keep in this order. case hotHumid case moist case dry case marine public var zoneIdentifiers: [String] { switch self { case .dry: return ["2B", "3B", "4B", "5B", "6B", "7B"] case .hotHumid: return ["1A", "2A"] case .marine: return ["3C", "4C"] case .moist: return ["3A", "4A", "5A", "6A", "7A"] } } public var cfmPerTon: Int { switch self { case .dry: return 450 case .hotHumid: return 350 case .marine, .moist: return 400 } } public var label: String { return "\(self == .hotHumid ? "Hot Humid" : rawValue.capitalized) (\(zoneIdentifiers.joined(separator: ", ")))" } }