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 (
    735, 734, 733, 732, 731, 730, 729, 728, 
    742, 741, 740, 739, 738, 737, 736, 747, 
    746, 745, 744, 743, 749, 752, 751, 750, 
    748, 758, 757, 756, 755, 754, 753, 761, 
    760, 759, 767, 766, 765, 764, 763, 762, 
    770, 769, 768, 773, 772, 771
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00132

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "110.57"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "6.48"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 125,
            "rows_produced_per_join": 5,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "29.49",
              "eval_cost": "1.00",
              "prefix_cost": "30.49",
              "data_read_per_join": "20K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`cscart`.`cscart_categories`.`storefront_id` in (0,1)) and ((`cscart`.`cscart_categories`.`usergroup_ids` = '') or find_in_set(0,`cscart`.`cscart_categories`.`usergroup_ids`) or find_in_set(1,`cscart`.`cscart_categories`.`usergroup_ids`)) and (`cscart`.`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": [
              "cscart.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 12,
            "rows_produced_per_join": 6,
            "filtered": "10.80",
            "index_condition": "(`cscart`.`cscart_products_categories`.`product_id` in (735,734,733,732,731,730,729,728,742,741,740,739,738,737,736,747,746,745,744,743,749,752,751,750,748,758,757,756,755,754,753,761,760,759,767,766,765,764,763,762,770,769,768,773,772,771))",
            "cost_info": {
              "read_cost": "61.60",
              "eval_cost": "1.30",
              "prefix_cost": "104.09",
              "data_read_per_join": "103"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
728 375,377,382M
729 375,377,382M
730 375,377,382M
731 375,377,382M
732 375,377,382M
733 382M,375,377
734 377,382M,375
735 375,377,382M
736 375,377,382M
737 375,377,382M
738 375,377,382M
739 382M,375,377
740 377,382M,375
741 375,377,382M
742 375,377,382M
743 375,377,382M
744 375,377,382M
745 375,377,382M
746 377,382M,375
747 377,382M,375
748 375,377,382M
749 375,377,382M
750 375,377,382M
751 375,377,382M
752 382M,375,377
753 377,382M,375
754 375,377,382M
755 375,377,382M
756 375,377,382M
757 375,377,382M
758 382M,375,377
759 377,382M,375
760 375,377,382M
761 375,377,382M
762 375,377,382M
763 375,377,382M
764 375,377,382M
765 382M,375,377
766 377,382M,375
767 375,377,382M
768 375,381M,376
769 375,381M,376
770 375,381M,376
771 375,381M,376
772 381M,376,375
773 375,381M,376