PHP Code:
[[((($bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7 OR $bbuserinfo[usergroupid]==9) AND ($forumid==28 OR $thread[forumid]==28 OR $forumid==23 OR $thread[forumid]==23)))]]
put your custom header's html code here
[[/((($bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7 OR $bbuserinfo[usergroupid]==9) AND ($forumid==28 OR $thread[forumid]==28 OR $forumid==23 OR $thread[forumid]==23)))]]
[[(!(($bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7 OR $bbuserinfo[usergroupid]==9) AND ($forumid==28 OR $thread[forumid]==28 OR $forumid==23 OR $thread[forumid]==23)))]]
put your regular header code here
[[/(!(($bbuserinfo[usergroupid]==6 OR $bbuserinfo[usergroupid]==7 OR $bbuserinfo[usergroupid]==9) AND ($forumid==28 OR $thread[forumid]==28 OR $forumid==23 OR $thread[forumid]==23)))]]
This will do the trick for your request. Though it will work only in forumdisplay pages, not thread read pages. I take a look at the showthread.php and see that changing the header inside threads is not possible with this hack.
Also you may consider trying unique forum header hack which changes forum headers according to forumid. Although it does not change according to usergroup, if you make that forum private and allow only these usergroups can access it, this wont be a problem.