A method, comprising: selecting a block allocation (272; 400) that indicates a plurality of contiguous tone blocks (202; 402; 841, 842, 843, 844) of a wireless local area network, WLAN, communication channel for a multi-user, multiple input multiple output, MU-MIMO, orthogonal frequency division multiple access, OFDMA, data unit (254; 500; 800), wherein each of the plurality of contiguous tone blocks corresponds to a respective device set (262, 264, 266) having at least one communication device; selecting, for at least some of the plurality of contiguous tone blocks, respective spatial stream allocations that indicate a number of spatial streams for the corresponding contiguous tone block of the MU-MIMO OFDMA data unit, wherein the number of spatial streams of a contiguous tone block is equal to a number of communication devices of the device set that corresponds to the contiguous tone block; encoding a first field to indicate the selected block allocation and the selected spatial stream allocations, wherein the first field includes a plurality of subfields having respective indices to a plurality of hierarchical codebooks that indicate predetermined block allocations and predetermined spatial stream allocations, wherein: the plurality of subfields includes a first subfield and one or more second subfields, the plurality of hierarchical codebooks includes i) a block allocation codebook that indicates the predetermined block allocations, ii) a multi-user codebook that indicates the predetermined spatial stream allocations, and iii) an index codebook that indicates which of the plurality of hierarchical codebooks are indexed by the one or more second subfields, the selected block allocation and the selected spatial stream allocations are selected from the plurality of hierarchical codebooks, and the first subfield has an index to the index codebook; encoding one or more second fields to indicate a respective device identifier for each communication device of the respective device sets; and transmitting the first field and the one or more second fields to the communication devices of the respective device sets. selecting a block allocation (272; 400) that indicates a plurality of contiguous tone blocks (202; 402; 841, 842, 843, 844) of a wireless local area network, WLAN, communication channel for a multi-user, multiple input multiple output, MU-MIMO, orthogonal frequency division multiple access, OFDMA, data unit (254; 500; 800), wherein each of the plurality of contiguous tone blocks corresponds to a respective device set (262, 264, 266) having at least one communication device; selecting, for at least some of the plurality of contiguous tone blocks, respective spatial stream allocations that indicate a number of spatial streams for the corresponding contiguous tone block of the MU-MIMO OFDMA data unit, wherein the number of spatial streams of a contiguous tone block is equal to a number of communication devices of the device set that corresponds to the contiguous tone block; encoding a first field to indicate the selected block allocation and the selected spatial stream allocations, wherein the first field includes a plurality of subfields having respective indices to a plurality of hierarchical codebooks that indicate predetermined block allocations and predetermined spatial stream allocations, wherein: the plurality of subfields includes a first subfield and one or more second subfields, the plurality of hierarchical codebooks includes i) a block allocation codebook that indicates the predetermined block allocations, ii) a multi-user codebook that indicates the predetermined spatial stream allocations, and iii) an index codebook that indicates which of the plurality of hierarchical codebooks are indexed by the one or more second subfields, the selected block allocation and the selected spatial stream allocations are selected from the plurality of hierarchical codebooks, and the first subfield has an index to the index codebook; the plurality of subfields includes a first subfield and one or more second subfields, the plurality of hierarchical codebooks includes i) a block allocation codebook that indicates the predetermined block allocations, ii) a multi-user codebook that indicates the predetermined spatial stream allocations, and iii) an index codebook that indicates which of the plurality of hierarchical codebooks are indexed by the one or more second subfields, the selected block allocation and the selected spatial stream allocations are selected from the plurality of hierarchical codebooks, and the first subfield has an index to the index codebook; encoding one or more second fields to indicate a respective device identifier for each communication device of the respective device sets; and transmitting the first field and the one or more second fields to the communication devices of the respective device sets.