in membership-common/src/main/scala/com/gu/memsub/subsv2/Subscription.scala [122:134]
def apply(maybeString: Option[String]): ReaderType =
maybeString
.map {
case Direct.value => Direct
case Gift.value => Gift
case Agent.value => Agent
case Student.value => Student
case Complementary.value => Complementary
case Complementary.alternateSpelling => Complementary
case Corporate.value => Corporate
case Patron.value => Patron
case unknown => throw new RuntimeException(s"Unknown reader type: $unknown")
}