The Customer Account Fields app can show and hide fields on forms, based on the value of another field. This allows you to create customer profiles for specific customer types. You can even completely disable or enable fields.
Multiple conditions can be added to a single field.
Available options are flexible.