How to I make a real time changing movelist gui like A Universal Time

So if you haven’t played the 1.6 Update for a universal time, there is a lot of improvements that I have made which I have a good grasp on how to make however the moveset gui that appears on the bottom right corner of the screen seems to be a mystery.

  1. I want to know how to make different groups for the categories of movesets
  2. How do i make them interchangeable
    I do have a summon system already and an advanced framework which this can hopefully be worked into but its still a bit lost on me