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 = 7165 
WHERE 
  cscart_products_categories.product_id IN (
    100984, 100985, 100986, 100987, 100988, 
    100989, 100990, 100991, 100992, 100993, 
    100994, 100995, 100996, 100997, 100998, 
    100999, 101000, 101001, 101002, 101003, 
    101004, 101005, 101006, 101007, 101008, 
    101009, 101010, 101037, 101093, 101094, 
    101095, 101096, 101097, 101098, 101099, 
    101100, 101101, 101102, 101103, 101104, 
    101536, 101537, 101538, 101539, 101540, 
    101541, 101542, 101543
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01609

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "83.09"
    },
    "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": 92,
            "rows_produced_per_join": 92,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "9.49",
              "eval_cost": "9.20",
              "prefix_cost": "18.69",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (100984,100985,100986,100987,100988,100989,100990,100991,100992,100993,100994,100995,100996,100997,100998,100999,101000,101001,101002,101003,101004,101005,101006,101007,101008,101009,101010,101037,101093,101094,101095,101096,101097,101098,101099,101100,101101,101102,101103,101104,101536,101537,101538,101539,101540,101541,101542,101543))"
          }
        },
        {
          "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": 92,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "23.00",
              "eval_cost": "9.20",
              "prefix_cost": "50.89",
              "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": "23.00",
              "eval_cost": "0.46",
              "prefix_cost": "83.09",
              "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
100984 7283,7167M,7183
100985 7319,7193M
100986 7319,7193M
100987 7319,7193M
100988 7167M,7283,7183
100989 7319,7193M
100990 7319,7193M
100991 7193M,7319
100992 7193M,7319
100993 7319,7193M
100994 7319,7193M
100995 7319,7193M
100996 7319,7193M
100997 7319,7193M
100998 7319,7193M
100999 7319,7193M
101000 7193M,7319
101001 7193M,7319
101002 7193M,7319
101003 7193M,7319
101004 7193M,7319
101005 7193M,7319
101006 7193M,7319
101007 7193M,7319
101008 7193M,7319
101009 7193M,7319
101010 7193M,7319
101037 7175M
101093 7193M,7319
101094 7193M,7319
101095 7319,7193M
101096 7319,7193M
101097 7319,7193M
101098 7319,7193M
101099 7193M,7319
101100 7193M,7319
101101 7319,7193M
101102 7183,7283,7167M
101103 7283,7167M,7183
101104 7167M,7183,7283
101536 7177M
101537 7177M
101538 7177M
101539 7177M
101540 7173M
101541 7173M
101542 7173M
101543 7179M