How did they do grouping for nodes?
What you are seeing is a layout feature called frames. The rationale behind them is to help organize your node tree by helping you easily select and relocate related nodes all at once.

For clarity's sake, it may be important to distinguish node groups from frames, since you asked about groups in the question.

The Blender Manual says this about Node Groups:


  Grouping nodes can simplify a node tree by allowing instancing and
  hiding parts of the tree. Both material and composite nodes can be
  grouped.
  
  Conceptually, grouping nodes allows you to specify a set of nodes that
  you can treat as though it were “just one node”. Node groups are
  similar to functions in programming. You can then reuse them inside,
  which are then called “NodeGroups”, or in other blend-file(s), when
  appending called “NodeTrees”.


https://docs.blender.org/manual/en/latest/editors/texture_node/types/groups.html

And it says this about Frames:


  The Frame node is a useful tool for organizing nodes by collecting
  related nodes together in a common area. Frames are useful when a node
  setup becomes large and confusing yet the re-usability of a Node Group
  is not required.


https://docs.blender.org/manual/en/latest/interface/controls/nodes/frame.html

You can create a node group by selecting multiple nodes and pressing Ctrl + g. You can create a frame by pressing Shift + a to "add" a new node, and go down to the bottom of the list, to Layout, and select Frame. You can give your frame a name by entering one in the Label field, found in the Properties Shelf to the right (if the Shelf isnt' visible press n while hovering your cursor in the Shader Editor). 


After creating the frame, you can drag the the desired nodes into it. Then you can click and drag the frame to move all of the nodes within it.