What I do, and which works well for me, is I have ten different tags for ten different hats - and the hats correspond exactly to the Areas of Responsibility (roles; "quasi titles") that I have defined for myself. These hats are not tied to any particular location or any particular tools or any particular people or any particular task type.
Six of my areas are business related. One of them I call Consultant (selling my time), another one Trader (buying and reselling assets). Most clients/cases/deals fall under either of these two roles. Then I have defined two separate areas for two different partner ventures where I have ongoing roles. Etc.
I do not use many of the standard sample contexts, but I do use some location contexts, such as errands, office1, office2, home etc. and I use those to mark those particular tasks that need be done in those locations. I also have people tags, but only about 20 for very frequent collaborators, plus a few generic "people type" tags, e.g supplier, client (and write the name in the task).
I agree with mcogilvie that tags such as boss may be a bit unspecific in your case, but unless you must do all your work for a given client at their location, then it just might be confusing to use a location context for all the work that is done for that client - then maybe you'd be better off having separate role tags like I do (perhaps even specific client tags?). But if you usually go there and do the work there, then location and client coincide fully.
Are you doing this on paper, or can you view your tasks from different angles?