Sets the minimum storage used to hold enumerated types
The $Z compiler directive sets the minimum storage size, in bytes, that enumerated types will take.
This is set to 1 byte by default, thereby providing capacity for 256 enumerations.
If you exceed the current storage size, by either defining rather a lot of enumeration values (over 256), or, more likely, defining enumeration values exceeding 256, then a larger storage size is used. The $Z directive simply defines the minimum number of bytes to use (see the example).