If multiple states had several 32B slices, they'd end up at the same position in the enum anyway, and switching states would almost certainly optimize out the copy of the array (because it would be copying each byte back to its same location).

And with the numeric value, yeah I mean what you had before, except it would accumulate the value during the parsing instead of calculating it at the end with a parsing pass.