SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids, 
  product_position_source.position AS position 
FROM 
  cscart_products_categories 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  LEFT JOIN cscart_products_categories AS product_position_source ON cscart_products_categories.product_id = product_position_source.product_id 
  AND product_position_source.category_id = 7166 
WHERE 
  cscart_products_categories.product_id IN (
    90302, 84056, 84064, 90152, 90167, 85971, 
    84067, 84075, 84092, 84055, 84063, 
    85966, 90294, 90301, 90131, 90132, 
    83943, 84087, 90250, 90258, 90180, 
    90181, 90202, 90213, 84054, 84062, 
    90151, 90166, 85970, 84091, 90146, 
    90161, 90300, 90307, 84053, 84061, 
    83942, 84086, 90231, 90246, 84066, 
    84074, 90201, 90212, 90137, 90138, 
    84090, 85969
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01697

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "86.69"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 96,
            "rows_produced_per_join": 96,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "9.89",
              "eval_cost": "9.60",
              "prefix_cost": "19.49",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (90302,84056,84064,90152,90167,85971,84067,84075,84092,84055,84063,85966,90294,90301,90131,90132,83943,84087,90250,90258,90180,90181,90202,90213,84054,84062,90151,90166,85970,84091,90146,90161,90300,90307,84053,84061,83942,84086,90231,90246,84066,84074,90201,90212,90137,90138,84090,85969))"
          }
        },
        {
          "table": {
            "table_name": "product_position_source",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "product_id"
            ],
            "key_length": "6",
            "ref": [
              "const",
              "nuie_scalesta_net.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 96,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "24.00",
              "eval_cost": "9.60",
              "prefix_cost": "53.09",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 4,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "24.00",
              "eval_cost": "0.48",
              "prefix_cost": "86.69",
              "data_read_per_join": "12K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
83942 7193M,7319
83943 7193M,7319
84053 7319,7193M
84054 7319,7193M
84055 7193M,7319
84056 7193M,7319
84061 7319,7193M
84062 7319,7193M
84063 7319,7193M
84064 7319,7193M
84066 7319,7193M
84067 7319,7193M
84074 7193M,7319
84075 7193M,7319
84086 7193M,7319
84087 7193M,7319
84090 7193M,7319
84091 7193M,7319
84092 7193M,7319
85966 7193M,7319
85969 7193M,7319
85970 7319,7193M
85971 7319,7193M
90131 7319,7193M
90132 7319,7193M
90137 7319,7193M
90138 7319,7193M
90146 7193M,7319
90151 7193M,7319
90152 7319,7193M
90161 7319,7193M
90166 7319,7193M
90167 7319,7193M
90180 7319,7193M
90181 7319,7193M
90201 7319,7193M
90202 7319,7193M
90212 7193M,7319
90213 7193M,7319
90231 7193M,7319
90246 7193M,7319
90250 7193M,7319
90258 7319,7193M
90294 7193M,7319
90300 7193M,7319
90301 7319,7193M
90302 7319,7193M
90307 7193M,7319