Multistep registration form for two roles Goal:

I have two different user roles:


Borrower
Provider


There are 5 categories for these users to choose(they can select all if they want):


Market 1
Market 2
Market 3
Market 4
Market 5


Each roles have different registration forms depending on the categories they picked. Let say:

For Borrower role:

If Market 1:
  step one: 
    form A
  step two:
    form B:

If Market 2-5:
  step one: 
    form A:
  step two:
    form C:


For Provider role:

If Market 1-4:
  step one:
    form A:
  step two:
    form D:


If Market 5:
  step one: 
    form A:
  step two:
    form E:


Where:
  form A = generic registration form
  form B = specific for Borrower role selecting Market 1
  form C = generic form for Borrower role selecting Market 2 to 5
  form D = generic form for Provider role selecting Market 1 to 4
  form E = specific form for Provider role selecting Market 5


Question:
  Is there any module that can do this? Any thoughts how can I achieve this using Drupal API's?
These modules might help you:


Profile2 for creating different user profiles based on role
Profile2 registration path to have separate registration pages
Formflow to connect multiple forms in a single "workflow"