We can observe that there are only 8 resulting shapes even though they are selected by using a 4-bit value.
In other words, in Python we have:
def adsr_to_shape(val):
if (val >> 2) == 0: return 1
elif (val >> 2) == 1: return 7
return val & 7
When using the volume envelope generator, the volume is always increased from 00h to 0Fh (or vice versa), it is not possible to specify a starting/ending point (like from 00h to 07h).