You write a function to return true or false based on if the customer is a wholesaler or not ...
Then use that function to control the $this->enabled in each of the shipping modules you are using plus the Free Shipping Options shipping module where you define that one to show when Total is >=0 ...
Note: you have to write a matching function for the Admin so that the Modules ... Shipping can run ...
You might peek at the current function in the shipping modules, such as:
/includes/modules/shipping/item.php
// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) {
$this->enabled = ((MODULE_SHIPPING_ITEM_STATUS == 'True') ? true : false);
}
If you look at the function in the Catalog and the Admin you will see how the Admin function zen_get_shipping_enabled simply returns a true ...
The Catalog function zen_get_shipping_enabled manages what to do to show/hide the shipping modules based on Free Shipping as managed based on Always Free Shipping and 0 weight being Free Shipping etc.
NOTE: do not confuse the existing function zen_get_shipping_enabled as being something you should touch to manage your Free Shipping ...
Your needs are not the same purpose as the existing function ... so you want to write your own based on your conditions ...