Groups are used to create different groups of users within the system and a hierarchical structure involved. Sub-groups can be created under each group. 



Root users have the highest level of access and are at the top of the hierarchical structure. Next, Administrators fall under the Root users and have the highest level of access following Root users. Next, we have Learners and Test Users that fall under Administrators, and these users only have user-access to the system. 


Groups can be helpful when needing to create and organize different categories of users in the system. For instance, we could have a group titled "Contractors." Then, we could have several sub-group that fall under this group, such as "Electricians," "Plumbers," and "Builders."