Extended Profile Field Groups displayed by User Role

Hello, I am in the process of building out my first buddypress site. I am kind of stumped on the correct way to handle the buddypress extended profile fields. I am currently using s2member for registration and setting initial role upon signup. The site has 2 types of users; a member who cannot do anything except browse content and participate in discussion forums, and a provider who can post content moderate, and who has a featured profile on the site. Additionally I have created 2 extra profile field groups (Members & Providers) with unique fields for each.

The trouble i am running into is making the the different profile field groups (member & provider) display on the relative profile pages, public and or edit page. Based on their "Role" / user type.

I have found a way to limit the members directory display by user role, but this breaks the pagenation, and allows for 1 page of members results.

I added this to the members-loop.php file

<?php if (bp_has_members() ) : ?>
<?php while ( bp_members() ) : bp_the_member();
$user = new WP_User( bp_get_member_user_id() );
$user_role = $user->roles[0];
switch ($user_role) {
case s2member_level2:
// the rest of the members-loop code in here
break;
default:
// do nothing - hide every one who is not s2member_level2
break;

break;
}
?>

<?php
// End of user switch case
endwhile;
endif;
?>

Ideally I would like to abstract this correctly outside of the template files. But I am having trouble with the Buddypress code.