You might be able to do this with a editor-xtd plugin. Instead of having it create/inject a button it'll inject the javascript that does what you're wanting.
Question: the category select field is part of the content tab so if you have the content tab be hidden (for certain categories) then the user will never be able to change that category from inside the article edit page after changing to one of those categories (or the Publish Status, Access level, etc for that matter). So are you wanting to hide the content tab, or just the editor?
update
Here is a proof of concept of a plugin-xtd that I believe does what you're wanting. You'd need to change the category IDs in in the $cats variable.
cm_hidecontent.xml
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.6" type="plugin" group="editors-xtd" method="upgrade">
<name>plg_editor-xtd_cm_hidecontent</name>
<author>Drew G</author>
<creationDate>Oct 2017</creationDate>
<copyright>-</copyright>
<authorEmail>-</authorEmail>
<authorUrl>-</authorUrl>
<version>3.6.0</version>
<description>Proof of concept for hiding the content editor when certain categories are selected.</description>
<files>
<filename plugin="cm_hidecontent">cm_hidecontent.php</filename>
</files>
</extension>
cm_hidecontent.php
<?php
defined('_JEXEC') or die;
/**
*
*/
class plgButtonCm_hidecontent extends JPlugin
{
/**
* Load the language file on instantiation.
*
* @var boolean
* @since 3.1
*/
protected $autoloadLanguage = true;
/**
* Inject the needed javascript
*/
function onDisplay($name, $asset, $author)
{
// List which category IDs you want the editor to hide from.
// You can pull this data from a plugin parameter or leave it hardcoded
$cats = json_encode(array(1536, 419));
$js =
<<<EOF
jQuery(function($){
jQuery('#jform_catid').change(function()
{
checkStatus();
});
var checkStatus = function()
{
// Need to cast the value to a number else Array.includes() will fail
var val = Number(jQuery('#jform_catid').val());
// You could hard code this array.
var cats = {$cats};
if(cats.includes(val))
{
jQuery('#myTabContent .adminform').css('visibility','hidden');
}
else
{
jQuery('#myTabContent .adminform').css('visibility','visible');
}
}
// Initial pageload check
checkStatus();
});
EOF;
$doc = JFactory::getDocument();
$doc->addScriptDeclaration($js);
}
}