HowTo: Пользовательское поле в Lift-Record-Squeryl

Я пытаюсь создать EnumListField в Lift/Record/Squeryl, аналогично MappedEnumList в LiftMapper. Тип хранилища должен быть длинным /BIGINT. Я понимаю, что если я определю:

def classOfPersistentField = classOf[Long]

Затем Squeryl будет знать, что он должен создать столбец BIGINT. И я знаю, что он использует setFromAny() для установки значения, проходящего в Long. Единственное, что я не получаю, это:

Как он прочитает значение поля? Если он использует valueBox, он получит Seq [Enum # Value], и ​​он не будет знать, как превратить это в Long.

Как передать Squeryl для преобразования моего Seq [Enum # Value] в Long или определить "getter", который возвращает Long, и который не конфликтует с "нормальными" getter (s)?