The conditional logic only works to show or hide?

This is a limitation of how showing/hiding fields works with Javascript, and how WordPress saves meta-data. Probably the best way to handle it is to use the same type of switch logic where you want to use the data. something like this:

switch ( get_field('radio_field') ) {
  case 'first_option':
    // get data from your first field
    break;
  case 'second_option':
    // get data from your second field
    break;
  //etc
}