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 (2011, 1075, 1077, 2009, 1079)

Query time 0.00080

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "61.95"
    },
    "nested_loop": [
      {
        "table": {
          "table_name": "gp",
          "access_type": "range",
          "possible_keys": [
            "PRIMARY",
            "idx_group_id"
          ],
          "key": "idx_group_id",
          "used_key_parts": [
            "group_id"
          ],
          "key_length": "3",
          "rows_examined_per_scan": 18,
          "rows_produced_per_join": 18,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "4.63",
            "eval_cost": "3.60",
            "prefix_cost": "8.23",
            "data_read_per_join": "288"
          },
          "used_columns": [
            "product_id",
            "group_id"
          ],
          "attached_condition": "(`webmarco`.`gp`.`group_id` in (2011,1075,1077,2009,1079))"
        }
      },
      {
        "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": [
            "webmarco.gp.group_id"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 25,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "18.01",
            "eval_cost": "5.10",
            "prefix_cost": "31.34",
            "data_read_per_join": "2K"
          },
          "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": "fpl",
          "used_key_parts": [
            "feature_id",
            "product_id",
            "lang_code"
          ],
          "key_length": "12",
          "ref": [
            "webmarco.gpf.feature_id",
            "webmarco.gp.product_id",
            "const"
          ],
          "rows_examined_per_scan": 1,
          "rows_produced_per_join": 25,
          "filtered": "100.00",
          "using_index": true,
          "cost_info": {
            "read_cost": "25.51",
            "eval_cost": "5.10",
            "prefix_cost": "61.95",
            "data_read_per_join": "19K"
          },
          "used_columns": [
            "feature_id",
            "product_id",
            "variant_id",
            "lang_code"
          ]
        }
      }
    ]
  }
}

Result

feature_id product_id variant_id group_id
549 81624 1495 1075
549 81625 1199 1075
549 81627 1515 1075
549 81634 1368 1077
549 81636 1495 1077
549 81655 1199 1079
549 81657 1495 1079
548 81647 1193 2009
549 81647 1495 2009
548 149123 1195 2009
549 149123 1495 2009
548 149124 1194 2009
549 149124 1495 2009
548 149125 1193 2009
549 149125 1199 2009
548 149126 1195 2009
549 149126 1199 2009
548 149127 1194 2009
549 149127 1199 2009
548 149128 1193 2009
549 149128 1498 2009
548 149129 1195 2009
549 149129 1498 2009
548 149130 1194 2009
549 149130 1498 2009
548 81611 1465 2011
549 81611 37919 2011
548 149176 1465 2011
549 149176 1199 2011