Because I can never remember the syntax: Givenenum FilterOptionValue { case oneSided(value: Double) case twoSided(low: Float, high: Double) }You can unpack it piecewise on demand withif case let .twoSided(low, high) = thingieOption.value { minThingie = Int(low) upperThingie = Int(high) }