hook_form_alter function to make field visible and required?
Try changing the selector from ':input[name="field_dispongo_de_"]' to the id of the field (#edit-customer-profile-billing-field-dispongo-de-und) as below:

/**
 * Implements hook_form_alter().
 */
function MODULE-NAME_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  // Check if the form is commerce checkout form.
  if ($form_id == 'commerce_checkout_form_checkout') {
    // Verify the field names are as per the form.
    $form['customer_profile_billing']['field_cif_nif_id']['#states'] = array(
      // This #states rule says that the "field_cif_nif_id" fieldset should only
      // be shown if the "field_dispongo_de_" form element is set to "CIF/NIF/ID".
      'visible' =&gt; array(
        '#edit-customer-profile-billing-field-dispongo-de-und' =&gt; array('value' =&gt; t('cif')),
      ),
    );
  }
}