Plan for constraining the enum leaves of a fuzzed parameter into their valid 0..variant_count
range. Solidity enums are ABI-encoded as uint8, so without this the fuzzer can generate
out-of-range values that the contract rejects with Panic(0x21) when decoding them.
Given a function and some state, it returns a strategy which generated valid calldata for the
given function’s input types, based on state taken from the EVM.