Categories are a way of differentiating different leads, by building logic based on one or more fields.

The categories can be either defined in a campaign workflow, or in a contract.

A category can change the base price of a lead, an can be either included (opt-in) or excluded (opt-out) from a contract.

NB: the price of a lead is therefore based on the base price and the sum of the changes off the categories which are active.

A contract can also opt-in or opt-out of a vertical without a category.

Categories cannot be changed manually but will be updated automatically based on the fields. So if you want to update a category of an inbound lead you have to change to values of the contributing fields accordingly.