Refactored to initialize Group and Categories data in constructor

Creating ```groups``` and ```categories``` list on every ```GetGroup()``` and ```GetCategory()``` call seems redundant and inefficient so refactored the code to initialize the Group and Category data in ```DataProvider``` constructor which will be hit only once.