The authentication process of this app works like this, the admin makes the user registration with name, email password etc.
I created custom meta key value pairs, with which the admin will categorize the users.
For example, the admin creates 6 users, and they have the following meta value:
User_1, user_cat: A
User_2, user_cat: A
User_3, user_cat: A
User_4, user_cat: B
User_5, user_cat: B
User_6, user_cat: B
If User_1 is logged in, he/she should see two groups A and B. If the user wants to write a message to all B users, the user can click on the category, and all the users with the category B will get a message.