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 
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') 
WHERE 
  cscart_products_categories.product_id IN (
    584, 573, 561, 556, 553, 549, 545, 541, 
    525, 521, 517, 513, 507, 497, 492, 489, 
    486, 482, 455, 453, 452, 451, 450, 449, 
    448, 447, 446, 445, 444, 443, 442, 394, 
    378, 377, 371, 369, 368, 362, 228, 219, 
    218, 217, 212, 211, 210, 209, 207, 206
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00115

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "13.53"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "3.67"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 20,
            "rows_produced_per_join": 1,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "2.52",
              "eval_cost": "0.10",
              "prefix_cost": "2.62",
              "data_read_per_join": "2K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`betaatif_store`.`cscart_categories`.`storefront_id` in (0,1)) and ((`betaatif_store`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`betaatif_store`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`betaatif_store`.`cscart_categories`.`usergroup_ids`))) and (`betaatif_store`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "betaatif_store.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 43,
            "rows_produced_per_join": 3,
            "filtered": "8.54",
            "index_condition": "(`betaatif_store`.`cscart_products_categories`.`product_id` in (584,573,561,556,553,549,545,541,525,521,517,513,507,497,492,489,486,482,455,453,452,451,450,449,448,447,446,445,444,443,442,394,378,377,371,369,368,362,228,219,218,217,212,211,210,209,207,206))",
            "cost_info": {
              "read_cost": "2.94",
              "eval_cost": "0.37",
              "prefix_cost": "9.86",
              "data_read_per_join": "58"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
206 5M
207 16M
209 5M
210 17M
211 16M
212 5M
217 16M
218 16M
219 16M
228 15M
362 15M
368 15M
369 15M
371 15M
377 15M
378 12M
394 12M
442 12M
443 12M
444 12M
445 12M
446 12M
447 12M
448 12M
449 12M
450 12M
451 12M
452 12M
453 12M
455 12M
482 12M
486 12M
489 12M
492 12M
497 12M
507 12M
513 12M
517 12M
521 12M
525 12M
541 12M
545 12M
549 12M
553 12M
556 12M
561 12M
573 12M
584 12M