Conversion is only needed in storage impl, right? I'd still prefer enum.