Category Tool is a Unity Editor tool to create Categories in the Hierarchy. The Categories work as dividers between GameObjects.
This tool gives you the option to create Category gameobjects. Category gameobjects are just regular gameobjects, but they are assigned the "EditorOnly" tag and "Category" layer. Categories are shown in the Hierarchy differently compared to other gameobjects, which makes them ideal for use dividers. You can control the appearence of the Category gameobjects from Edit > Preferences > Category Tool. Additionally, the Category Tool gives you the option to display Enable/Disable and Delete options right in the Hierarchy. Those options can be enabled or disabled from Edit > Preferences > Category Tool.
You need to have a layer named Category in your project, otherwise the Category Tool won't work. If you don't have a layer named Category in your project, create it, and then you can use the Category Tool.
The Enable/Disable and Delete options don't effect multi-selected objects. So if you want to Enable/Disable or Delete a particular gameobject, you have to click the Enable/Disable or Delete option beside that gameobject in the Hierarchy.
You can change the Selected Color and Not Selected Color of the Categories. But you'll notice that you're unable to change the Alpha values of these colors. The reason is that these Categories are being drawn on top of whatever is already there in the Hierarchy. So we can't allow transparency, otherwise the text behind will be visible.
Place this script in the Editor folder in your project.
Create a layer named Category in your project.
Click Create > Create Other > Category to create a new Category.
When renaming a Category through the Hierarchy the name will look mangled until you hit Enter. To avoid this issue, rename Categories from the Inspector instead.