Categorical arrays are convenient and memory-efficient containers for non-numeric data with values from a finite set of discrete categories. They are especially useful when the categories have a meaningful mathematical ordering, such as an array with entries from the discrete set of categories {'small','medium','large'} where small < medium < large.
An ordering other than alphabetical order is not possible with character arrays. Thus, inequality comparisons, such as greater and less than, are not possible. With categorical arrays, you can use relational operations to test for equality and perform element-wise comparisons that have a meaningful mathematical ordering.