It is in RFC 1951:
(HCLEN + 4) x 3 bits: code lengths for the code length
alphabet given just above, in the order: 16, 17, 18,
0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15
The decoding process would fail if you tried to change this (without also changing it on the deflate end, in which case it could no longer be called deflate).
The most likely code length codes to be used are early in the list, and the least likely are later in the list. This allows the list to be shorter most of the time, hence HCLEN
being smaller, saving three bits per list item not present.