I've resolved this for my needs and here is my solution in case anyone else needs to do the same thing.
I would have liked to use the Views Aggregator Plus module however I am not using a table for rendering my results and I have somewhat specific needs for the way the results are formatted.
My solution was to create Custom Views Field and in my field handler, I queried the CiviCRM API to pull all of the Groups per Contact ID. In order to limit the Groups to the ones I wanted to render, I used the Visibility setting for "Public Pages" and put a conditional in the loop that produces the results.
Hooks:
hook_views_data()
hook__views_api()
In my views filed handler inc file I created a class that extends views_handler_field to run my logic and return my results.
I acquired the contact id and placed it in avariable called $contactid then used the following CiviCRM API code to get my groups array
$groups = civicrm_api3('GroupContact', 'get', array(
'sequential' => 1,
'contact_id' => $contactid,
));
The rest was pretty straight forward looping and concatenating the string of Group Titles.