I have a personal email account for business issues. With this email account I use the address book (CalDAV) storing the business contacts of companies, doctors, insurance contacts, authorities and so on.
With the vCard specification there are ten fields for user-defined purposes. Similar to categories I use two of these user-defined fields called "branch" (sector) and "subbranch" (subsector).
few examples:
1) branch: healthiness - subbranch: family doctor or oculist or pharmacy (and so on)
2) branch: insurances
3) branch: associations - subbranch: Trade association or Voluntary association or Non profit association (and so on)
4) branch: financial sector - subbranch: bank or credit institution
With personalized views it's possible to filter and sort contacts. Here a few examples of personalized views:
a) personalized view "Healthiness": This view shows only the contacts from branch/category "healthiness" and sort them via name or subbranch and name.
b) personalized view "Insurances": This view shows only the contacts from branch/category "insurances" and sort them via name or subbranch and name.
c) personalized view "Emergency": This view shows only contacts for emergency purposes. This could be police, emergency, lost of credit cards, contacts of 'special' persons or special contacts from insurances in case of emergency...
Using personalized views helps to filter, sort and group contacts and have them with one click on view instead of scrolling and searching in large lists.