SELECT 
  pfv.feature_id, 
  pfv.product_id, 
  pfv.variant_id, 
  gp.group_id 
FROM 
  cscart_product_features_values AS pfv 
  INNER JOIN cscart_product_variation_group_products AS gp ON pfv.product_id = gp.product_id 
  INNER JOIN cscart_product_variation_group_features AS gpf ON gpf.group_id = gp.group_id 
  AND gpf.feature_id = pfv.feature_id 
WHERE 
  pfv.lang_code = 'en' 
  AND gp.group_id IN (21)

Query time 0.00092

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "44.50"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "gpf",
          "access_type": "ref",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "idx_group_id",
          "used_key_parts": [
            "group_id"
          ],
          "key_length": "3",
          "ref": [
            "const"
          ],
          "rows_examined_per_scan": 3,
          "rows_produced_per_join": 3,
          "filtered": "100.00",
          "cost_info": {
            "read_cost": "2.10",
            "eval_cost": "0.60",
            "prefix_cost": "2.70",
            "data_read_per_join": "312"
          },
          "used_columns": [
            "feature_id",
            "group_id"
          ]
        }
      },
      {
        "table": {
          "table_name": "pfv",
          "access_type": "ref",
          "possible_keys": [
            "PRIMARY",
            "fl",
            "lang_code",
            "product_id",
            "fpl",
            "idx_product_feature_variant_id"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "feature_id"
          ],
          "key_length": "3",
          "ref": [
            "atulecarter_atul_demo2.gpf.feature_id"
          ],
          "rows_examined_per_scan": 9,
          "rows_produced_per_join": 26,
          "filtered": "99.80",
          "using_index": true,
          "cost_info": {
            "read_cost": "4.06",
            "eval_cost": "5.39",
            "prefix_cost": "12.16",
            "data_read_per_join": "20K"
          },
          "used_columns": [
            "feature_id",
            "product_id",
            "variant_id",
            "lang_code"
          ],
          "attached_condition": "(`atulecarter_atul_demo2`.`pfv`.`lang_code` = 'en')"
        }
      },
      {
        "table": {
          "table_name": "gp",
          "access_type": "eq_ref",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "PRIMARY",
          "used_key_parts": [
            "product_id",
            "group_id"
          ],
          "key_length": "6",
          "ref": [
            "atulecarter_atul_demo2.pfv.product_id",
            "const"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 26,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "26.95",
            "eval_cost": "5.39",
            "prefix_cost": "44.50",
            "data_read_per_join": "431"
          },
          "used_columns": [
            "product_id",
            "group_id"
          ]
        }
      }
    ]
  }
}

Result

feature_id product_id variant_id group_id
548 524 1193 21
548 525 1194 21
548 526 1193 21
548 527 1194 21
548 528 1193 21
548 531 1194 21
548 532 1193 21
548 533 1194 21
548 534 1193 21
548 535 1194 21
551 524 1204 21
551 525 1204 21
551 526 1205 21
551 527 1205 21
551 528 1204 21
551 531 1206 21
551 532 1204 21
551 533 1204 21
551 534 1205 21
551 535 1205 21
549 524 1198 21
549 525 1198 21
549 526 1198 21
549 527 1198 21
549 528 1199 21
549 531 1199 21
549 532 1201 21
549 533 1201 21
549 534 1201 21
549 535 1201 21