It looks like the enclosures are not similar enough to use the method that I has suggested - the origins and orientation would have to be the same.
To accomplish the "Yes/No" method, load each enclosure into the engine family. Place one instance of each type of enclosure where it is supposed to be relative to the engine. In Family Types, Create a "Yes/No" parameter that will correspond to each of the enclosures. Then select each of the embedded enclosure families and under properties, click on the little grey button to the right of the Visibility parameter. From the list, select the appropriate parameter.
Would you still need more information than what was provided so far?
That depends on how you want the enclosure to be selected:
Do you want the enclosure dictated by the Family Type? That way, you can control multiple instance at once. =Type Parameter
Do you want to select the enclosure individually for each instance of an engine? This will be one-by-one. =Instance Parameter
I want to be able to click on the enclosure, which is on the engine, then be able to, from the drop down, change it to a different one in replace of the old one. and be able to go back and forth choosing whatever one you want.
Here's the difference between using an instance or a type parameter:
Say you make your family name it Engine 1.
If you use an Instance Parameter to turn on/off enclosures (we'll call them A, B, and C), then in your model, you could have some instances of Engine 1 with Enclosure A, some with Enclosure B, and some with Enclosure C, as needed. The enclosure options wouldn't show up in the Type Selector drop-down, though. They would show up in the engine's properies. And, if at some point you need all Engine 1's in the model to be Enclosure B, you'll have to change each one.
If you use a Type Parameter, then you will need to create 3 Engine types in your family. We'll call them Engine 1A, Engine 1B, and Engine 1C. In the Family Properties, you can decide that Engine 1A is the one with Enclosure A, Engine 1B is the one with Enclosure B, and so on. (the engine is the same in all of these, thus the 1 stayed the same - just the enclosure that shows changes).
Using a Type Parameter will allow you to click on an engine, and then select a different engine type (1A, 1B, or 1C) from the Type Selector drop-down, as you wanted. And, if at some point you need to change all type 1A engines, then you can Edit Type instead of changing them all individually.
Here's a simple demonstration of using 3 type yes/no parameters with 3 family types (in 1 family called ABC)...
A, B, and C are model text overlapping each other. Each has its visibility set by the value of their respective yes/no parameter (A, B, or C). There are (3) family types ... each with (1) parameter on and (2) parameters off. This acts like a radio button. By default (without programming probably), REVIT does not allow for radio buttons to be created by the user (unless I completely missed something). This is one way to mimic a set of radio buttons where you want to choose only one letter.
In your case, you have different enclosures and perhaps with completely different geometries per enclosure. You can model each enclosure with your engine family or outside and have them/their visibility be controlled by a parameter made within engine family. If the geometries of each enclosure only differed by changing a few angles, lengths, ... you can might be able to avoid the visibility/overlap and gone with constraining with a variety of parameters, planes, lines, etc ... just like you would with a lot of equipment with various sizes.