Enumに値を持つのは無理そうなので、その場合は手動のabsorbを使うということでとりあえずtodoは取り下げ