Category and shared subclass both are different terms. Their concepts are separate fields from each other.
The category contains two or more superclasses which may represent different-different entity types, while other regular shared subclasses always have a single superclass.
An entity that is a member of the shared subclass must exist in all superclasses, but in the case of category, a member entity can be a part of any one of the superclasses. Moreover, attribute inheritance works selectively in the case of categories.
A category is used when we need arises for modeling a single superclass/subclass relationship with more than one superclass, where the superclasses represent different entity types.
And the subclass will represent a combination of objects that is a subset of different entity types. For example, a piece of land can be owned by a person, a company, or a bank. All of these entities are different types, but they will jointly form a total set of landowners.