Most helpdesk tools, ticket/incident/issue trackers and knowledge-base software offer some way of "categorizing" support requests. Here are some useful tips on creating and organizing your categories we learned over the years of building our helpdesk ticketing system:
No need to overcomplicate things and create hundreds of categories. Know why you are using your categories. Is it permissions-based access? Is it routing the requests? Categorizing just for the sake of categorizing is a bad practice. Answering "why" helps a lot.
By the way, one of the most common reasons for categorizing is - reporting. Lets you easily track down which types of tickets you get the most, how much time your agents spend dealing with some specific area, and how well they perform.
Don't try to create all possible categories at the very beginning. Start with a just few categories that help you manage and reorganize your support requests and expand as needed. Start with a general category, like "email". Then expand it to "Email server" and "Email client" - if required. If not - just keep it that way.
Sometimes it makes sense to have more than one level of categorization. Think of it like "folders and subfolders". See the email example from the above section.
Also, don't limit categorization to a single "category" field. You can optionally use "tags" along with the categories, or even add some custom properties to your requests:
UPDATE: Check our advanced categorizatrion guide.
Don't give your users more work. They don't like scrolling through a hundred categories to find the proper one (I've seen this too many times). Simple solutions:
Having specific "custom fields" assigned to specific categories is a huge time saver. For example, the "Website errors" category can have two extra custom fields: "Browser" and "OS".
Check out Categorizing your Support Tickets