I think it's not an easy question to answer. And there is no manual, so you'd have to rtfsc (source code)
The custom profile field info is stored in the database (of course), so you need to find where that info is read and then figure out how to tell if it's one of the fields you want to set by user group. And unless they are private fields, you will want to do this where they are displayed *and* where they are edited.
Maybe a different approach would be to add a usergroup id column to the profilefield table (with 0 for all usergroups) and then find everywhere that table is queried and add usergroupid checks to the WHERE clause. I doubt it could be done using hooks only, but I'm not sure.
ETA: I had another thought: maybe if you find the template used to render the profile fields, you could check the field id and user group in a <vb:if... there.