Show different fields on node edit and node view depending on the sub-type of the node
Take a look at the Conditional Fields module. You could make some fields dependent on one checkbox selection and other fields dependent on a second checkbox selection. 


  Define dependencies between fields based on their states and values.
  
  Conditional Fields for Drupal 7 is an user interface to the new
  States API, plus the ability to modify fields appearance and
  behavior on certain conditions when viewing content.
  
  Description
  
  Conditional Fields allows you to manage sets of dependencies between
  fields. When a field is “dependent”, it will only be available for
  editing and displayed if the state of the “dependee” field matches the
  right condition. When editing a node (or any other entity type that
  supports fields, like users and categories), the dependent fields are
  dynamically modified with the States API.
  
  A simple use case would be defining a custom “Article teaser" field
  that is shown only if a "Has teaser" checkbox is checked, but much
  more complex options are available.