Pick the one primary category that matches your main money service exactly, then add secondary categories only for services you truly perform. Primary category is the strongest ranking lever on the whole profile, so do not guess at it.
Your primary category tells Google which searches you are even eligible for. A roofer set to General Contractor will struggle against roofers set to Roofing Contractor, no matter how many reviews it has. So pick for the work that pays the bills, not the work you wish you did more of. If you make most of your money on replacement and the category list has a closer match for that, use it. One primary category only, and it should be boringly literal.
Secondaries are for real additional services, not a keyword dump. Adding ten loosely related categories can pull you into searches you cannot serve and can water down the main signal. Three to five accurate ones is a healthy profile. Check what the top ranking competitors in your town use, since the category list changes and the one you need may have been added recently. If a service deserves a category, it also deserves a page on your website.
Then make the rest of the profile agree. Your services list, your description, your photos and your website should all say the same thing as the category. Google is checking for consistency, and so is the customer who clicks through and finds a homepage that never mentions the service they searched. If you change a primary category, expect movement for a few weeks before it settles, and change one thing at a time so you can tell what caused what.
Send the site over. We will tell you what is broken, what you could rank for, and whether AI search knows you exist. No charge and no pitch deck.