eTeX's \currentgrouptype distinguishes two types of \hbox group types
\hbox{\showthe\currentgrouptype} % 3 "adjusted hbox group"
\noindent
\hbox{\showthe\currentgrouptype} % 2 "hbox group"
Looking at tex.web, I see a couple of places where hbox_group occurs:
@d hbox_group=2 {code for `\.{\\hbox}\grp'}
@d adjusted_hbox_group=3 {code for `\.{\\hbox}\grp' in vertical mode}
@<Initiate the construction of an hbox or vbox, then |return|@>=
...
if (box_context<box_flag)and(abs(mode)=vmode) then
scan_spec(adjusted_hbox_group,true)
else scan_spec(hbox_group,true)
@<Cases of |handle...@>=
hbox_group: package(0);
adjusted_hbox_group: begin adjust_tail:=adjust_head; package(0);
end;
I don't understand what adjust_tail:=adjust_head does. Perhaps something to do with the \vadjust command?

\vadjust{\hbox{\showthe\currentgrouptype}}– egreg Aug 3 '12 at 18:07\vadjustis processed in vertical mode. – Frank Mittelbach Aug 3 '12 at 18:37