diff --git a/src/art/artJS.js b/src/art/artJS.js
index bc938d1ad7ab0a6cd967ee50c4944ecb090be83e..ad97268d707004e1b2c25fe8880c338376792359 100644
--- a/src/art/artJS.js
+++ b/src/art/artJS.js
@@ -377,7 +377,7 @@ App.Art.renderedArtElement = function(slave, artSize) {
 	} else if (slave.devotion <= 50 || slave.fetishKnown !== 1 || (V.seeMainFetishes === 0 && artSize < 2)) {
 		fileName = `${fileName} obedient`;
 	} else {
-		if (slave.fetish === "none") {
+		if (slave.fetish === Fetish.NONE) {
 			fileName = `${fileName} obedient`;
 		} else {
 			fileName = `${fileName} ${slave.fetish}`;
diff --git a/src/endWeek/economics/neighborsDevelopment.js b/src/endWeek/economics/neighborsDevelopment.js
index 25bc571e2974101f8a993a736e8234c223308b07..822721e72c56a6d1c2d82580be34091ff2755d7e 100644
--- a/src/endWeek/economics/neighborsDevelopment.js
+++ b/src/endWeek/economics/neighborsDevelopment.js
@@ -2030,7 +2030,7 @@ App.EndWeek.neighborsDevelopment = function() {
 				if (leader.behavioralFlaw === "gluttonous") {
 					candidates.push({fs: "FSHedonisticDecadence", msg: `since ${he} already loves over-eating.`});
 				}
-				if (leader.fetish !== "none" && leader.fetishStrength >= 100) {
+				if (leader.fetish !== Fetish.NONE && leader.fetishStrength >= 100) {
 					candidates.push({fs: "FSHedonisticDecadence", msg: `since ${he} seeks to satisfy ${his} powerful fetish.`});
 				}
 				if (leader.height >= 200) {
diff --git a/src/endWeek/reports/childrenReport.js b/src/endWeek/reports/childrenReport.js
index ccc9f7411f05e75e6f6d90b7b5d6d8a59cc2f004..59380074097ed7e27e4f3e9a75ef3f75a4e24073 100644
--- a/src/endWeek/reports/childrenReport.js
+++ b/src/endWeek/reports/childrenReport.js
@@ -20,7 +20,7 @@ App.Facilities.Nursery.childrenReport = function childrenReport() {
 
 		if (child.actualAge >= 3) {
 			if (Matron) {
-				if (Matron.fetish !== "none") {
+				if (Matron.fetish !== Fetish.NONE) {
 					childDiv.append(matronFetishEffects(child));
 				}
 
@@ -31,7 +31,7 @@ App.Facilities.Nursery.childrenReport = function childrenReport() {
 				const randomNanny = NL > 1 ? jsRandom(0, nannies.length - 1) : 0;
 				const nanny = nannies[randomNanny];
 
-				if (nanny.fetish !== "none") {
+				if (nanny.fetish !== Fetish.NONE) {
 					childDiv.append(nannyFetishEffects(child, nanny));
 				}
 
@@ -55,7 +55,7 @@ App.Facilities.Nursery.childrenReport = function childrenReport() {
 	function matronFetishEffects(child) {
 		const chance = jsRandom(1, 100);
 
-		if ((chance > 90 && child.fetish === "none") || chance > 95) {
+		if ((chance > 90 && child.fetish === Fetish.NONE) || chance > 95) {
 			child.fetish = Matron.fetish;
 
 			return `${child.slaveName} has taken a few cues from ${Matron.slaveName}, and ${newChildFetish(child.fetish)}. `;
@@ -97,7 +97,7 @@ App.Facilities.Nursery.childrenReport = function childrenReport() {
 		const chance = jsRandom(1, 100);
 
 		if (chance > 85) {
-			if (child.fetish === "none") {
+			if (child.fetish === Fetish.NONE) {
 				child.fetish = slave.fetish;
 
 				return `${slave.slaveName} has left quite an impression on ${child.slaveName}, and ${he} ${newChildFetish(child.fetish)}. `;
@@ -257,7 +257,7 @@ App.Facilities.Nursery.childrenReport = function childrenReport() {
 		for (const target of cribsCopy) {
 			const becomeFriends = () => `${child.slaveName} and ${target.slaveName} have realized that they have more in common that they originally thought, and have become friends. `;
 			const becomeRivals = () => `${child.slaveName} and ${target.slaveName} have more differences between them than they could put aside and have become rivals. `;
-			const haveSameFetish = () => child.fetish === target.fetish && child.fetish !== "none";
+			const haveSameFetish = () => child.fetish === target.fetish && child.fetish !== Fetish.NONE;
 			const haveSameBehavioralQuirk = () => child.behavioralQuirk && child.behavioralQuirk === target.behavioralQuirk && child.behavioralQuirk !== "none";
 			const haveSameSexualQuirk = () => child.sexualQuirk && child.sexualQuirk === target.sexualQuirk && child.sexualQuirk !== "none";
 
diff --git a/src/endWeek/reports/clinicReport.js b/src/endWeek/reports/clinicReport.js
index 884d2836e15e9aeb657b0142d4dd464b6f162c1a..71dbbb51f33e67057916e1738fbc44c8ef87c4c8 100644
--- a/src/endWeek/reports/clinicReport.js
+++ b/src/endWeek/reports/clinicReport.js
@@ -132,7 +132,7 @@ App.EndWeek.clinicReport = function() {
 							r.push(`dick hourly.`);
 							improveCondition(slave, 4);
 							if (jsRandom(1, 100) > 65 && canTaste(S.Nurse)) {
-								if (S.Nurse.fetish === "none") {
+								if (S.Nurse.fetish === Fetish.NONE) {
 									r.push(`It's not uncommon for ${him} to receive a load to the face; before long, <span class="fetish gain">${he} starts to enjoy the taste.</span>`);
 									S.Nurse.fetish = "cumslut";
 								} else if (S.Nurse.fetish === "cumslut") {
@@ -155,7 +155,7 @@ App.EndWeek.clinicReport = function() {
 							improveCondition(slave, 4);
 							slave.lactationDuration = 2;
 							if (jsRandom(1, 100) > 65 && canTaste(S.Nurse)) {
-								if (S.Nurse.fetish === "none") {
+								if (S.Nurse.fetish === Fetish.NONE) {
 									r.push(`Those lovely globes are just too tantalizing for ${him} to resist, <span class="fetish gain">${he} can't help but take a drink ${himself}.</span>`);
 									S.Nurse.fetish = "boobs";
 								} else if (S.Nurse.fetish === "boobs") {
diff --git a/src/endWeek/reports/spaReport.js b/src/endWeek/reports/spaReport.js
index 9093c902232d033dcc86192b549496f4aa402bfe..10c4b11cc22a004b3a860e5b8efff1d548167512 100644
--- a/src/endWeek/reports/spaReport.js
+++ b/src/endWeek/reports/spaReport.js
@@ -47,7 +47,7 @@ App.EndWeek.spaReport = function() {
 				S.Attendant.fetishStrength += 4;
 			}
 		}
-		if (S.Attendant.fetish === "none" || S.Attendant.fetish === Fetish.SUBMISSIVE) {
+		if (S.Attendant.fetish === Fetish.NONE || S.Attendant.fetish === Fetish.SUBMISSIVE) {
 			devBonus++;
 		}
 		S.Attendant.devotion += devBonus;
@@ -82,7 +82,7 @@ App.EndWeek.spaReport = function() {
 			r.push(`${His} blindness allows ${him} to deeply connect with ${his} charges.`);
 			idleBonus++;
 		}
-		if (S.Attendant.fetish === "none") {
+		if (S.Attendant.fetish === Fetish.NONE) {
 			r.push(`${S.Attendant.slaveName} respects the slaves lounging in the spa, allowing them to relax completely.`);
 			idleBonus++;
 		} else if (S.Attendant.fetish === Fetish.SUBMISSIVE) {
@@ -177,7 +177,7 @@ App.EndWeek.spaReport = function() {
 							S.Attendant.fetishStrength += 4;
 						} else {
 							r.push(`${He} does ${his} best to accommodate ${slave.slaveName}'s massive genitals and tends to ${him2} whenever ${he2} feels a need for release.`);
-							if (random(1, 100) > 65 && S.Attendant.fetish === "none") {
+							if (random(1, 100) > 65 && S.Attendant.fetish === Fetish.NONE) {
 								r.push(`After taking several massive loads to the face, ${S.Attendant.slaveName} begins to find satisfaction in being coated in cum.`);
 								S.Attendant.fetish = "cumslut";
 							}
@@ -194,7 +194,7 @@ App.EndWeek.spaReport = function() {
 							S.Attendant.fetishStrength += 4;
 						} else {
 							r.push(`${He} does ${his} best to accommodate ${slave.slaveName}'s massive breasts and tends to ${him2} whenever ${he2} feels a need for release.`);
-							if (random(1, 100) > 65 && S.Attendant.fetish === "none") {
+							if (random(1, 100) > 65 && S.Attendant.fetish === Fetish.NONE) {
 								r.push(`After multiple milking sessions, ${S.Attendant.slaveName} begins to find ${himself} fantasizing about having giant milky breasts too.`);
 								S.Attendant.fetish = "boobs";
 							}
@@ -214,7 +214,7 @@ App.EndWeek.spaReport = function() {
 							S.Attendant.fetishStrength += 4;
 						} else {
 							r.push(`${He} does ${his} best to accommodate ${slave.slaveName}'s pregnancy and to make sure the mother-to-be is happy and comfortable.`);
-							if (random(1, 100) > 65 && S.Attendant.fetish === "none") {
+							if (random(1, 100) > 65 && S.Attendant.fetish === Fetish.NONE) {
 								r.push(`After massaging ${slave.slaveName}'s growing belly multiple times, ${S.Attendant.slaveName} begins to find ${himself} fantasizing about being swollen with life too.`);
 								S.Attendant.fetish = "pregnancy";
 							}
diff --git a/src/endWeek/saLiveWithHG.js b/src/endWeek/saLiveWithHG.js
index fac71e56b897c1202b1211e8a868d40653573ecb..5155cf7a013707b969ea1d7f2cbb630d3e73db13 100644
--- a/src/endWeek/saLiveWithHG.js
+++ b/src/endWeek/saLiveWithHG.js
@@ -760,7 +760,7 @@ App.SlaveAssignment.liveWithHG = function saliveWithHG(slave) {
 				}
 			} else {
 				if (canDoAnal(slave) || canDoVaginal(slave)) {
-					if (slave.fetish !== "none") {
+					if (slave.fetish !== Fetish.NONE) {
 						r.push(`${slave.slaveName} often takes ${HG.slaveName}'s`);
 						if (canPenetrate(HG)) {
 							r.push(`dick`);
diff --git a/src/endWeek/saLongTermEffects.js b/src/endWeek/saLongTermEffects.js
index 4dd86d4f0024868cc86093932bab54784e1b53f8..e76577b5909b250d51a1d39beb5e2a6cae20a222 100644
--- a/src/endWeek/saLongTermEffects.js
+++ b/src/endWeek/saLongTermEffects.js
@@ -226,7 +226,7 @@ App.SlaveAssignment.longTermEffects = function saLongTermEffects(slave) {
 					r.push(`phalli`);
 				}
 				r.push(`that are currently inside ${him}, as hard as ${he} possibly can.`);
-				if (slave.fetish !== "none" && slave.fetish !== Fetish.MINDBROKEN) {
+				if (slave.fetish !== Fetish.NONE && slave.fetish !== Fetish.MINDBROKEN) {
 					r.push(`${He} <span class="fetish loss">no longer retains any sexual preferences</span> at all. ${He} just wants to be penetrated.`);
 					slave.fetish = "none";
 					slave.fetishStrength = 0;
@@ -1169,7 +1169,7 @@ App.SlaveAssignment.longTermEffects = function saLongTermEffects(slave) {
 					r.push(`Being so distended with fluids is <span class="devotion dec">very uncomfortable</span> to ${him}.`);
 					slave.devotion -= 3;
 				}
-				if (slave.fetish === "none" && fetishChangeChance(slave) > random(0, 100)) {
+				if (slave.fetish === Fetish.NONE && fetishChangeChance(slave) > random(0, 100)) {
 					r.push(`Having such a round, heavy belly leads ${him} to <span class="fetish gain">begin fantasizing about being pregnant.</span>`);
 					slave.fetish = "pregnancy";
 					slave.fetishStrength = 10;
@@ -1490,7 +1490,7 @@ App.SlaveAssignment.longTermEffects = function saLongTermEffects(slave) {
 		if (slave.bellyImplant >= 5000) {
 			if (slave.fuckdoll === 0) {
 				if (slave.fetish !== Fetish.MINDBROKEN) {
-					if ((slave.fetish === "none" || slave.fetishStrength <= 10) && slave.devotion > 20 && random(1, 100) > 85) {
+					if ((slave.fetish === Fetish.NONE || slave.fetishStrength <= 10) && slave.devotion > 20 && random(1, 100) > 85) {
 						r.push(`Having an implant simulating pregnancy drives ${him} to <span class="fetish gain">begin fantasizing about being actually pregnant.</span>`);
 						slave.fetish = "pregnancy";
 						slave.fetishStrength = 10;
diff --git a/src/endWeek/saLongTermMentalEffects.js b/src/endWeek/saLongTermMentalEffects.js
index 819078a7adf24d0fd2f7642fe6f8d2beac97a856..32e268e85c7d83f117fd7e0b635b19fe2cc59623 100644
--- a/src/endWeek/saLongTermMentalEffects.js
+++ b/src/endWeek/saLongTermMentalEffects.js
@@ -38,7 +38,7 @@ App.SlaveAssignment.longTermMentalEffects = function saLongTermMentalEffects(sla
 	r.push(App.SlaveAssignment.saSmartPiercingEffects(slave));
 	if (slave.fetish !== Fetish.MINDBROKEN && slave.fuckdoll === 0) {
 		organicFetishDevelopments(slave);
-		if (slave.fetishKnown !== 0 && slave.fetish !== "none") {
+		if (slave.fetishKnown !== 0 && slave.fetish !== Fetish.NONE) {
 			paraphiliaAcquisition(slave);
 		}
 	}
@@ -853,7 +853,7 @@ App.SlaveAssignment.longTermMentalEffects = function saLongTermMentalEffects(sla
 	 *
 	 */
 	function fetishEffects(slave) {
-		if (slave.fetish !== "none") {
+		if (slave.fetish !== Fetish.NONE) {
 			if (slave.fetishStrength <= 75) {
 				if (slave.devotion > 50) {
 					if (slave.trust > 50) {
diff --git a/src/endWeek/saSmartPiercingEffects.js b/src/endWeek/saSmartPiercingEffects.js
index 101bf339f58262f0b172b785484eb8e7055048af..e26ac1651641247c823fb65237c78b21c37d020b 100644
--- a/src/endWeek/saSmartPiercingEffects.js
+++ b/src/endWeek/saSmartPiercingEffects.js
@@ -219,7 +219,7 @@ App.SlaveAssignment.SmartPiercing.vanilla = class extends App.SlaveAssignment.Sm
 
 	trigger(magnitude, plural) {
 		// Vanilla does NOT increase the strength of the "none" fetish, but otherwise behaves like any other fetish setting
-		if (this.slave.fetish !== "none") {
+		if (this.slave.fetish !== Fetish.NONE) {
 			return super.trigger(magnitude, plural);
 		}
 		return '';
@@ -484,7 +484,7 @@ App.SlaveAssignment.saSmartPiercingEffects = function(slave) {
 		// all dumb vibrators do exactly the same thing: dampen any existing fetish, and push libido into the average (40-60) range
 		const intro = `${His} ${vibrator} intermittently stimulates ${him} no matter what ${he}'s doing, which `;
 		const effects = [];
-		if (slave.fetish !== "none") {
+		if (slave.fetish !== Fetish.NONE) {
 			if (slave.fetishKnown === 1) {
 				effects.push(`<span class="fetish loss">weakens</span> ${his} fetish`);
 			}
diff --git a/src/events/PE/peCombatTraining.js b/src/events/PE/peCombatTraining.js
index b44bbe3f7c2e8cc3ee51fcfc2a54f0c61010e7c4..0d3a6f05e7b918745cecbbdc5540d14d3b4d1ca1 100644
--- a/src/events/PE/peCombatTraining.js
+++ b/src/events/PE/peCombatTraining.js
@@ -43,7 +43,7 @@ App.Events.PECombatTraining = class PECombatTraining extends App.Events.BaseEven
 			const frag = new DocumentFragment();
 			let r = [];
 			r.push(`Over the feed, you tell ${S.Bodyguard.slaveName} that ${he} can have ${his} choice of sexual release if ${he} scores well on the next set of targets. ${He} concentrates desperately, trying to ignore ${his} mounting arousal as ${he} imagines enjoying`);
-			if (S.Bodyguard.fetish === "none") {
+			if (S.Bodyguard.fetish === Fetish.NONE) {
 				r.push(`passionate sexual`);
 			} else if (S.Bodyguard.fetish === "boobs") {
 				r.push(`breast`);
diff --git a/src/events/REFI/reBoobslut.js b/src/events/REFI/reBoobslut.js
index 66c1ef5bfffeea9a9471481c9c35bc04f53aeaad..285a097112df40258f042b15542ffa071e460f19 100644
--- a/src/events/REFI/reBoobslut.js
+++ b/src/events/REFI/reBoobslut.js
@@ -8,7 +8,7 @@ App.Events.REFIBoobslut = class REFIBoobslut extends App.Events.BaseEvent {
 		return [
 			[ // event slave /InterestTargetID
 				isSlaveAvailable,
-				s => (s.fetish === "none" || s.fetishStrength <= 60),
+				s => (s.fetish === Fetish.NONE || s.fetishStrength <= 60),
 				s => (canSee(s) || canHear(s)),
 				s => s.rules.speech !== "restrictive",
 			],
diff --git a/src/events/REFI/reButtslut.js b/src/events/REFI/reButtslut.js
index 6c840fc66fd0ede34c27e2a95cfafa3848797fdd..f0d3ba44549cc690a3768bb37812a885cf8f8e37 100644
--- a/src/events/REFI/reButtslut.js
+++ b/src/events/REFI/reButtslut.js
@@ -8,7 +8,7 @@ App.Events.REFIButtslut = class REFIButtslut extends App.Events.BaseEvent {
 		return [
 			[ // event slave /InterestTargetID
 				isSlaveAvailable,
-				s => (s.fetish === "none" || s.fetishStrength <= 60),
+				s => (s.fetish === Fetish.NONE || s.fetishStrength <= 60),
 				s => (canSee(s) || canHear(s)),
 				s => s.rules.speech !== "restrictive",
 			],
diff --git a/src/events/RESS/PAFlirting.js b/src/events/RESS/PAFlirting.js
index b38b4961fb83abd06667347b58307f02697a6b25..9ac28253ecaca4735ca37820f7c38256c850a4f9 100644
--- a/src/events/RESS/PAFlirting.js
+++ b/src/events/RESS/PAFlirting.js
@@ -642,7 +642,7 @@ App.Events.RESSPAFlirting = class RESSPAFlirting extends App.Events.BaseEvent {
 
 			r = [];
 			r.push(`Several minutes later, ${V.assistant.name}'s avatar reappears on your desk,`);
-			if ((eventSlave.fetishKnown === 0) || (eventSlave.fetish === "none")) {
+			if ((eventSlave.fetishKnown === 0) || (eventSlave.fetish === Fetish.NONE)) {
 				r.push(`making love to an avatar of ${eventSlave.slaveName}.`);
 			} else if (eventSlave.fetish === "buttslut") {
 				r.push(`fucking an avatar of ${eventSlave.slaveName} up the ass. "Excellent idea, ${properTitle()}," ${heA} says, and the slave's avatar, which is a little overwhelmed, waves weakly.`);
diff --git a/src/events/RESS/comfortableSeat.js b/src/events/RESS/comfortableSeat.js
index cf29ab3ef6829020f6e0e9b0e0dd6c256459bef8..e2681405c9a339e7550d65599cc3bf603dffe9ea 100644
--- a/src/events/RESS/comfortableSeat.js
+++ b/src/events/RESS/comfortableSeat.js
@@ -140,7 +140,7 @@ App.Events.RESSComfortableSeat = class RESSComfortableSeat extends App.Events.Ba
 			App.Events.addParagraph(frag, t);
 			t = [];
 
-			if (eventSlave.fetishKnown === 1 && eventSlave.fetish !== "none") {
+			if (eventSlave.fetishKnown === 1 && eventSlave.fetish !== Fetish.NONE) {
 				t.push(`Finally making ${his} decision, ${he}`);
 				switch (eventSlave.fetish) {
 					case "submissive":
diff --git a/src/events/RESS/devotedNympho.js b/src/events/RESS/devotedNympho.js
index bd94f518f5ee95d7ee420f4c17dacfd1d1b2cc99..12d3443d043a192e7d28ee046abed8b6c6266a1a 100644
--- a/src/events/RESS/devotedNympho.js
+++ b/src/events/RESS/devotedNympho.js
@@ -526,7 +526,7 @@ App.Events.RESSDevotedNympho = class RESSDevotedNympho extends App.Events.BaseEv
 				r.push(`to learn ${he}'s`);
 			}
 			r.push(`on the inspection schedule for the same time tomorrow, and is almost bouncing with eagerness the next morning.`);
-			if (eventSlave.fetishStrength === 100 || eventSlave.fetishKnown === 0 || eventSlave.fetish === "none") {
+			if (eventSlave.fetishStrength === 100 || eventSlave.fetishKnown === 0 || eventSlave.fetish === Fetish.NONE) {
 				r.push(`Being a nympho is a never-ending struggle in some ways, and ${he} is <span class="hotpink">deeply grateful</span> to you for understanding ${him}.`);
 				eventSlave.devotion += 5;
 			} else {
diff --git a/src/events/RESS/permittedMasturbation.js b/src/events/RESS/permittedMasturbation.js
index fd7836f29f2836a37457705cbcd98ddef3f0a66e..58320866ce6661492fd513abbc6dbf5ec31ebd53 100644
--- a/src/events/RESS/permittedMasturbation.js
+++ b/src/events/RESS/permittedMasturbation.js
@@ -125,7 +125,7 @@ App.Events.RESSPermittedMasturbation = class RESSPermittedMasturbation extends A
 		App.Events.addResponses(node, [
 			new App.Events.Result(`Sleep with ${him}`, sleep),
 			new App.Events.Result(`Exhaust ${him}`, exhaust, virginityWarning()),
-			(eventSlave.fetishKnown === 1 && eventSlave.fetish !== "none")
+			(eventSlave.fetishKnown === 1 && eventSlave.fetish !== Fetish.NONE)
 				? new App.Events.Result(`Play into ${his} fetish at bedtime`, bedtime, virginityWarning())
 				: new App.Events.Result(),
 		]);
diff --git a/src/events/RESS/review/aGift.js b/src/events/RESS/review/aGift.js
index c3dd97737b36f5956c9cf2d6dcf2b5994f73ba88..6abddc6ef8a95f1136dcb0ccda3cb120459ae886 100644
--- a/src/events/RESS/review/aGift.js
+++ b/src/events/RESS/review/aGift.js
@@ -134,7 +134,7 @@ App.Events.RESSAGift = class RESSAGift extends App.Events.BaseEvent {
 		App.Events.addResponses(node, [
 			new App.Events.Result(`That's nice`, nice),
 			new App.Events.Result(`These slaves clearly have too much time on their hands`, time),
-			(eventSlave.fetishKnown === 1 && eventSlave.fetish !== "none")
+			(eventSlave.fetishKnown === 1 && eventSlave.fetish !== Fetish.NONE)
 				? new App.Events.Result(`Give ${him} something in return`, give, ((eventSlave.anus === 0 && canDoAnal(eventSlave)) || (eventSlave.vagina === 0 && canDoVaginal(eventSlave)) ? `This option may take ${his} virginity` : null))
 				: new App.Events.Result(),
 			new App.Events.Result(`${He}'s already gift enough`, enough),
diff --git a/src/events/RESS/review/desperatelyHorny.js b/src/events/RESS/review/desperatelyHorny.js
index 1a15420a2c1500088dce9e594f6224b103236be1..b2a3eb7eeb02ce96619328b456a6d0ca2ab61109 100644
--- a/src/events/RESS/review/desperatelyHorny.js
+++ b/src/events/RESS/review/desperatelyHorny.js
@@ -106,7 +106,7 @@ App.Events.RESSDesperatelyHorny = class RESSDesperatelyHorny extends App.Events.
 		App.Events.addParagraph(node, [`This is the result of not getting off for several days while on the slave diet provided by the nutritional systems. The mild aphrodisiacs included in ${his} food increase ${his} sex drive, and the increased libido can become cumulative if it's not regularly addressed. It looks like ${he} hasn't really gotten ${hers} in a couple of days, and the poor ${girl} can likely think of nothing but that. ${He}'s so horny ${he}'ll do anything for release. However, ${he} did come to you with ${his} trouble rather than masturbating illicitly.`]);
 
 		let choices = [new App.Events.Result(`Touch ${him} enough to get ${him} off`, touch)];
-		if (eventSlave.fetishKnown === 1 && eventSlave.fetish !== "none") {
+		if (eventSlave.fetishKnown === 1 && eventSlave.fetish !== Fetish.NONE) {
 			choices.push(new App.Events.Result(`Reward ${him} for coming to you`, reward, virginityWarning()));
 		}
 		choices.push(new App.Events.Result(null, null, `Let ${him} get off:`));
diff --git a/src/events/RESS/review/devotedExhibition.js b/src/events/RESS/review/devotedExhibition.js
index 525737d7c2affe8d8310e02c76476b0bef4b82b1..6f2e118a1587ba71787ff7e7d9577b3b4710a4e9 100644
--- a/src/events/RESS/review/devotedExhibition.js
+++ b/src/events/RESS/review/devotedExhibition.js
@@ -64,7 +64,7 @@ App.Events.RESSDevotedExhibition = class RESSDevotedExhibition extends App.Event
 		App.Events.addResponses(node, [
 			new App.Events.Result(`Inspect ${him} normally`, normally),
 			new App.Events.Result(`Inspect ${him} and then leave ${him} out for the public to use`, leave),
-			(eventSlave.fetishKnown === 1 && eventSlave.fetish !== "none")
+			(eventSlave.fetishKnown === 1 && eventSlave.fetish !== Fetish.NONE)
 				? new App.Events.Result(`Fuck ${him} like ${he} likes it`, like)
 				: new App.Events.Result()
 		]);
@@ -359,7 +359,7 @@ App.Events.RESSDevotedExhibition = class RESSDevotedExhibition extends App.Event
 			} else if (didVaginal) {
 				r.push(VCheck.Vaginal(eventSlave, 1));
 			}
-			if (eventSlave.fetishStrength === 100 || eventSlave.fetish === "none") {
+			if (eventSlave.fetishStrength === 100 || eventSlave.fetish === Fetish.NONE) {
 				r.push(`Since ${he}'s totally sure of what gets ${him} off, this public display that you know it too makes ${him} <span class="trust inc">trust you.</span>`);
 				eventSlave.trust += 5;
 			} else {
diff --git a/src/events/RESS/review/firstPeriod.js b/src/events/RESS/review/firstPeriod.js
index a3fa0064042c4463e7ce172dfcb8350dc382ee9d..f1c0ea3e44abb79f790de8ce5aeaf6ccea5db326 100644
--- a/src/events/RESS/review/firstPeriod.js
+++ b/src/events/RESS/review/firstPeriod.js
@@ -186,7 +186,7 @@ App.Events.RESSFirstPeriod = class RESSFirstPeriod extends App.Events.BaseEvent
 				r.push(`the strength of ${his} spasming sphincter`);
 			}
 			r.push(`sends you over as well. ${He}'s left in a confused haze; ${his} body tells ${him} to get pregnant, but you tell ${him} to take it anally. ${He} <span class="devotion inc">sides with your decision</span> and vows to be an anal whore for you.`);
-			if (slave.fetish === "none") { // TODO: text and the original "coral" color suggests fetish loss here, perhaps pregnancy.
+			if (slave.fetish === Fetish.NONE) { // TODO: text and the original "coral" color suggests fetish loss here, perhaps pregnancy.
 				r.push(`<span class="fetish loss">Overcoming ${his} urges to become a mother via anal causes ${him} to become a buttslut.</span>`);
 				slave.fetish = "buttslut";
 				slave.fetishStrength = 10;
diff --git a/src/events/RESS/review/fucktoyTribbing.js b/src/events/RESS/review/fucktoyTribbing.js
index caf8221ddca9ebf5289f63dda3df93d0e1e2985e..d33c8a493f7e60c55d334d0eb9b087f15b283969 100644
--- a/src/events/RESS/review/fucktoyTribbing.js
+++ b/src/events/RESS/review/fucktoyTribbing.js
@@ -148,7 +148,7 @@ App.Events.RESSFucktoyTribbing = class RESSFucktoyTribbing extends App.Events.Ba
 
 			if (eventSlave.fetishKnown === 0) {
 				r.push(`Knowing little about ${his} sexual peccadilloes, but confident that ${he}'ll do ${his} best to enjoy your lovemaking, you continue this shockingly intimate intercourse until ${he} climaxes.`);
-			} else if (eventSlave.fetish === "none") {
+			} else if (eventSlave.fetish === Fetish.NONE) {
 				r.push(`Knowing ${him} to be quite endearingly vanilla, you continue this shockingly intimate intercourse until ${he} climaxes, kissing ${him} all the way through your soft missionary lovemaking.`);
 			} else if (eventSlave.fetish === "buttslut") {
 				r.push(`Knowing ${his} tastes and wanting the intimacy of mutual pleasure, you slide a hand around behind and under ${him} so you can tease ${his} ass. ${He} gives ${his} butt a little wiggle of thanks, and orgasms promptly.`);
diff --git a/src/events/RESS/review/looseButtslut.js b/src/events/RESS/review/looseButtslut.js
index c8bb88e55dc124eba1a5f48f6bd235acb2457c5a..3b9240e439f0acd5af4fc32cb1349261020e1c88 100644
--- a/src/events/RESS/review/looseButtslut.js
+++ b/src/events/RESS/review/looseButtslut.js
@@ -9,7 +9,7 @@ App.Events.RESSLooseButtslut = class RESSLooseButtslut extends App.Events.BaseEv
 				s => s.fetish !== Fetish.MINDBROKEN,
 				canHold,
 				canDoAnal,
-				s => s.fetish === "buttslut" || (s.energy > 95 && s.fetish !== "none"),
+				s => s.fetish === "buttslut" || (s.energy > 95 && s.fetish !== Fetish.NONE),
 				s => s.anus > 2,
 				s => s.belly < 300000,
 				s => s.rules.release.masturbation === 1,
diff --git a/src/events/RESS/review/modsPlease.js b/src/events/RESS/review/modsPlease.js
index 2d7f9c5d480bebb2fd2fd3e691d37d38e548087f..d7f8a015721e25f898f591dfb0714db2937c3a97 100644
--- a/src/events/RESS/review/modsPlease.js
+++ b/src/events/RESS/review/modsPlease.js
@@ -74,7 +74,7 @@ App.Events.RESSModsPlease = class RESSModsPlease extends App.Events.BaseEvent {
 			r.push(`acknowledgment,`);
 		}
 		r.push(he);
-		if (eventSlave.fetishKnown === 1 && eventSlave.fetish !== "none") {
+		if (eventSlave.fetishKnown === 1 && eventSlave.fetish !== Fetish.NONE) {
 			if (eventSlave.fetish === Fetish.SUBMISSIVE) {
 				r.push(
 					`gives a submissive shudder, and turns to show you ${his} bare back.`,
@@ -243,7 +243,7 @@ App.Events.RESSModsPlease = class RESSModsPlease extends App.Events.BaseEvent {
 			App.Events.addParagraph(frag, r);
 			r = [];
 			r.push(`Manipulating the machine, you`);
-			if (eventSlave.fetishKnown === 1 && eventSlave.fetish !== "none") {
+			if (eventSlave.fetishKnown === 1 && eventSlave.fetish !== Fetish.NONE) {
 				if (eventSlave.fetish === Fetish.SUBMISSIVE) {
 					r.push(`place the first piercing, eliciting a hum of mild pain and abject submission from ${eventSlave.slaveName}. The piercing session goes on and on, with the slave sinking into a boneless, mindless state in which ${his} being is completely in your hands. ${He}'s almost sleepy when you finally release ${him}, but ${he} rises and`);
 					if (canSee(eventSlave)) {
diff --git a/src/events/RESS/review/wetDreams.js b/src/events/RESS/review/wetDreams.js
index e61bf62f883cb46c08efbfbca3434392788549dc..c2d9fc368a31def5594fe352252ab558f6b16bb5 100644
--- a/src/events/RESS/review/wetDreams.js
+++ b/src/events/RESS/review/wetDreams.js
@@ -157,7 +157,7 @@ App.Events.RESSWetDreams = class RESSWetDreams extends App.Events.BaseEvent {
 					r.push(`belly`);
 				}
 				r.push(`in ${his} virile sperm. You turn around and order the exhausted ${girl} to clean ${himself} up and go back to ${his} assignment; ${he} <span class="devotion inc">complies meekly,</span> understanding that having a potent penis is meaningless in ${his} position.`);
-				if (slave.fetish === "none") { // TODO: was coral, should probably be fetish gain.
+				if (slave.fetish === Fetish.NONE) { // TODO: was coral, should probably be fetish gain.
 					r.push(`The next time ${he} walks past your office, you can't help notice the growing erection ${he} carries. <span class="fetish dec"> Your dominating display has left ${him} craving domination.</span>`);
 					slave.fetish = "submissive";
 					slave.fetishStrength = 10;
@@ -247,7 +247,7 @@ App.Events.RESSWetDreams = class RESSWetDreams extends App.Events.BaseEvent {
 					r.push(`belly`);
 				}
 				r.push(`in ${his} virile sperm. You dismount and order the exhausted ${girl} to clean ${himself} and the couch up before going back to ${his} assignment; ${he} <span class="devotion inc">complies meekly,</span> understanding that having a potent penis is meaningless in ${his} position.`);
-				if (slave.fetish === "none") {
+				if (slave.fetish === Fetish.NONE) {
 					r.push(`The next time ${he} walks past your office, you can't help notice the growing erection ${he} carries. <span class="fetish gain">Your dominating display has left ${him} craving domination.</span>`);
 					slave.fetish = "submissive";
 					slave.fetishStrength = 10;
@@ -381,7 +381,7 @@ App.Events.RESSWetDreams = class RESSWetDreams extends App.Events.BaseEvent {
 				r.push(`the strength of ${his} spasming sphincter`);
 			}
 			r.push(`sends you over as well. ${He}'s left in a confused haze; ${his} body tells ${him} to fuck, but you tell ${him} to get fucked. ${He} <span class="hotpink">sides with your decision</span> and vows to be the one taking dick for you.`);
-			if (slave.fetish === "none") {
+			if (slave.fetish === Fetish.NONE) {
 				r.push(`<span class="fetish dec">Overcoming ${his} urges to become a father via anal cause ${him} to become a buttslut.</span>`);
 				slave.fetish = "buttslut";
 				slave.fetishStrength = 10;
diff --git a/src/events/eventUtils.js b/src/events/eventUtils.js
index 24ec34502205a3b20984e54410a8bba5fdee86f2..2237922b24613cac75e95920deafb7d6f12a149e 100644
--- a/src/events/eventUtils.js
+++ b/src/events/eventUtils.js
@@ -416,7 +416,7 @@ App.Events.canExecute = function(event, eventSlave) {
  * @returns {boolean}
  */
 App.Events.qualifiesForREFIeventSlave = function(slave) {
-	return slave.rules.speech !== "restrictive" && isSlaveAvailable(slave) && (slave.fetish === "none" || slave.fetishStrength <= 60) && (canSee(slave) || canHear(slave)) && (canTalk(slave) || hasAnyArms(slave));
+	return slave.rules.speech !== "restrictive" && isSlaveAvailable(slave) && (slave.fetish === Fetish.NONE || slave.fetishStrength <= 60) && (canSee(slave) || canHear(slave)) && (canTalk(slave) || hasAnyArms(slave));
 };
 
 /** Qualifies for REFI subSlave event?
diff --git a/src/facilities/brothel/brothelAssignmentScene.js b/src/facilities/brothel/brothelAssignmentScene.js
index 8ebea09a1471af05a83d8e5533f1f31871a6ea52..0a17b64aedc8caf1cc2ca7dc2e16ea7922f8154d 100644
--- a/src/facilities/brothel/brothelAssignmentScene.js
+++ b/src/facilities/brothel/brothelAssignmentScene.js
@@ -80,7 +80,7 @@ App.Facilities.Brothel.assignmentScene = function(slave) {
 	App.Events.addParagraph(node, r);
 	r = [];
 	if (slave.devotion > 50) {
-		if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish !== "none") {
+		if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish !== Fetish.NONE) {
 			r.push(`${He} looks excited.`);
 			if (canTalk(slave)) {
 				r.push(Spoken(slave, `"${Master}, I hoped you would send me down there sometime!`));
@@ -239,7 +239,7 @@ App.Facilities.Brothel.assignmentScene = function(slave) {
 		}
 	} else if (slave.devotion > 20 || (slave.devotion >= -20 && slave.trust < -20 && slave.trust >= -50)) {
 		if (canTalk(slave)) {
-			if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish !== "none") {
+			if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish !== Fetish.NONE) {
 				r.push(`${He} looks cautiously excited.`);
 				switch (slave.fetish) {
 					case "submissive":
@@ -420,7 +420,7 @@ App.Facilities.Brothel.assignmentScene = function(slave) {
 				);
 			}
 		} else {
-			if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish !== "none") {
+			if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish !== Fetish.NONE) {
 				r.push(`${He} looks cautiously excited.`);
 				switch (slave.fetish) {
 					case "submissive":
diff --git a/src/futureSocieties/aztec/slaveSacrificePenance.js b/src/futureSocieties/aztec/slaveSacrificePenance.js
index 3db3c2c282d271adf03f41f1b23dfe6d322dd7ab..bcce423d1e077d4fe4c1934ec785b6e204cfdc1e 100644
--- a/src/futureSocieties/aztec/slaveSacrificePenance.js
+++ b/src/futureSocieties/aztec/slaveSacrificePenance.js
@@ -15,7 +15,7 @@ App.UI.SlaveInteract.aztecSlaveSacrificePenance = function(sacrifice) {
 	if (sacrifice.devotion > 50) {
 		if (!canTalk(sacrifice)) {
 			r.push(`${He} looks excited at the prospect of suffering for the goddess.`);
-		} else if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== "none") {
+		} else if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== Fetish.NONE) {
 			r.push(`${He} looks excited.`);
 			r.push(Spoken(sacrifice, `"${Master}! I'm honored to be chosen! Thank you so much!"`));
 			if (sacrifice.fetish === "masochist") {
@@ -43,7 +43,7 @@ App.UI.SlaveInteract.aztecSlaveSacrificePenance = function(sacrifice) {
 	} else if (sacrifice.devotion > 20 || (sacrifice.devotion >= -20 && sacrifice.trust < -20 && sacrifice.trust >= -50)) {
 		if (!canTalk(sacrifice)) {
 			r.push(`${He} looks cautious at the prospect of suffering for the goddess.`);
-		} else if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== "none") {
+		} else if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== Fetish.NONE) {
 			r.push(`${He} looks cautiously excited.`);
 			r.push(Spoken(sacrifice, `"${Master},`));
 			if (sacrifice.fetish === Fetish.SUBMISSIVE) {
@@ -276,7 +276,7 @@ App.UI.SlaveInteract.aztecSlaveSacrificePenance = function(sacrifice) {
 	if (sacrifice.devotion > 50) {
 		r.push(`As the week starts, ${he} is proud to fulfill ${his} duty. ${He} fights the urge to touch ${himself}, drinking only when ${he} needs to, and does ${his} best to keep ${himself} pure for the goddess.`);
 
-		if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== "none") {
+		if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== Fetish.NONE) {
 			if (sacrifice.fetish === Fetish.SUBMISSIVE) {
 				r.push(`${He} makes sure to be ready to take any instruction, and it's clear that ${he} enjoys it. As the week progresses, the signs of ${his} sexual frustration become more evident. However, ${he} seems to enjoy the struggle of resisting the urges, since ${he} is under strict orders not to touch ${himself}. Every time the slave in charge of feeding ${him} or renewing ${his} aphrodisiacs orders ${him} to come closer, ${his} body shudders with lust-fueled pleasure. ${He} moans lewdly whenever ${he}'s ordered to wake up or to sleep. By the end of the week, ${he} fights to remain standing, almost delusional from lust and starvation. ${He} was told to remain`);
 				if (hasBothLegs(sacrifice)) {
@@ -345,7 +345,7 @@ App.UI.SlaveInteract.aztecSlaveSacrificePenance = function(sacrifice) {
 	} else if (sacrifice.devotion > 20 || (sacrifice.devotion >= -20 && sacrifice.trust < -20 && sacrifice.trust >= -50)) {
 		r.push(`As week starts, ${he} tries to fulfill ${his} duty. ${He} fights the urge to touch ${himself}, drinks only when ${he} needs to, and tries to keep ${himself} pure for the goddess.`);
 
-		if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== "none") {
+		if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== Fetish.NONE) {
 			if (sacrifice.fetish === Fetish.SUBMISSIVE) {
 				r.push(`${He} makes sure is ready to take any order ${he} might be given, and it's evident that ${he} enjoys it every time ${he} is ordered to do something. As the week progresses ${he} finds ${himself} close to the limits of ${his} submission. As much as ${he} tries to`);
 				if (hasAnyArms(sacrifice)) {
@@ -479,7 +479,7 @@ App.UI.SlaveInteract.aztecSlaveSacrificePenance = function(sacrifice) {
 	sacrifice.clothes = "no clothing";
 
 	if (sacrifice.devotion > 50) {
-		if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== "none") {
+		if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== Fetish.NONE) {
 			if (fetishChangeChance(sacrifice) > random(0, 100)) {
 				sacrifice.fetishStrength = 10;
 				sacrifice.fetishKnown = 1;
@@ -510,7 +510,7 @@ App.UI.SlaveInteract.aztecSlaveSacrificePenance = function(sacrifice) {
 			r.push(`${He} now understands the importance of ${his} role as a pennant slave, ${his} commitment to you and the goddess makes ${him} <span class="trust inc">trust</span> and <span class="devotion inc">love</span> you more.`);
 		}
 	} else if (sacrifice.devotion > 20 || (sacrifice.devotion >= -20 && sacrifice.trust < -20 && sacrifice.trust >= -50)) {
-		if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== "none") {
+		if (sacrifice.fetishKnown === 1 && sacrifice.fetishStrength > 60 && sacrifice.fetishStrength > 60 && sacrifice.fetish !== Fetish.NONE) {
 			if (fetishChangeChance(sacrifice) > random(0, 100)) {
 				sacrifice.fetishKnown = 1;
 				sacrifice.fetish = "masochist";
@@ -568,7 +568,7 @@ App.UI.SlaveInteract.aztecSlaveSacrificePenance = function(sacrifice) {
 			r.push(`The lack of food, sleep and the constant arousal with the chastity belt made ${him} <span class="trust dec">trust you less</span> and <span class="devotion inc">hate you more.</span>`);
 		}
 	} else if (sacrifice.trust < -20) {
-		if (sacrifice.fetish !== "none") {
+		if (sacrifice.fetish !== Fetish.NONE) {
 			if (fetishChangeChance(sacrifice) > random(0, 100)) {
 				sacrifice.fetishStrength = 10;
 				sacrifice.fetishKnown = 1;
diff --git a/src/interaction/main/walkPast.js b/src/interaction/main/walkPast.js
index 9946d096614268d13a0afea61e0d0dc5e497572b..ec64bf325cb5e8b117a91ab34948e80d6621100a 100644
--- a/src/interaction/main/walkPast.js
+++ b/src/interaction/main/walkPast.js
@@ -312,7 +312,7 @@ globalThis.walkPast = (function() {
 					} else {
 						t += `${partnerName} is enthusiastically using ${his2} tongue to bring ${name} to orgasm.`;
 					}
-				} else if (activeSlave.fetishStrength > 60 && activeSlave.fetishKnown === 1 && activeSlave.fetish !== "none") {
+				} else if (activeSlave.fetishStrength > 60 && activeSlave.fetishKnown === 1 && activeSlave.fetish !== Fetish.NONE) {
 					switch (activeSlave.fetish) {
 						case "boobs":
 							if (fuckSeed > 60 && (activeSlave.lactation > 0 || partnerSlave.lactation > 0)) {
@@ -1141,7 +1141,7 @@ globalThis.walkPast = (function() {
 			} else if (seed >= 33) { /* CUDDLE TIME */
 				if (activeSlave.energy > 95 && fuckSeed > 70) {
 					t += `lying in bed together. ${partnerName} has somehow managed to exhaust ${his2} ${activeSlaveRel}, and the sexually sated nympho is curled up with ${his} head on ${partnerName}'s chest, snoring lightly. ${partnerName} is smiling fondly at ${him}.`;
-				} else if (activeSlave.fetish !== "none" && fuckSeed > 50) {
+				} else if (activeSlave.fetish !== Fetish.NONE && fuckSeed > 50) {
 					switch (activeSlave.fetish) {
 						case "boobs":
 							t += `sleeping in bed together. ${name} is using ${partnerName}'s `;
diff --git a/src/interaction/sellSlave.js b/src/interaction/sellSlave.js
index 7c5e288d394e8e3fd4aa0a41c194566d0bd3b63e..6e4bbbd9740d7de5ef8abcf2013bfb62572e67ec 100644
--- a/src/interaction/sellSlave.js
+++ b/src/interaction/sellSlave.js
@@ -463,7 +463,7 @@ App.Interact.sellSlave = function(slave) {
 
 			if (slave.fetish === Fetish.MINDBROKEN) {
 				t.push(`It's a shame ${he}'s mindbroken. From a price perspective.`);
-			} else if (slave.fetish !== "none" && slave.fetishKnown === 1) {
+			} else if (slave.fetish !== Fetish.NONE && slave.fetishKnown === 1) {
 				t.push(`${His} fetish is good for performance, of course, but it adds a little bonus to value, too.`);
 			} else if (slave.fetishKnown === 1) {
 				t.push(`${His} tastes are a tad plain, but at least it won't hurt ${his} value.`);
diff --git a/src/js/birth/birth.js b/src/js/birth/birth.js
index 8114ebdf66c5fab21381bddb088a89a34519f44a..50dbc493f5a72735c22d2b4d67f9dd89b0c40521 100644
--- a/src/js/birth/birth.js
+++ b/src/js/birth/birth.js
@@ -1378,7 +1378,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 							slave.sexualFlaw = "breeder";
 							slave.fetishStrength = 100;
 						}
-					} else if (slave.fetish === "none" || slave.fetishStrength <= 60) {
+					} else if (slave.fetish === Fetish.NONE || slave.fetishStrength <= 60) {
 						r.push(App.UI.DOM.makeElement("span", `having found true pleasure in reproduction.`, "lightcoral"));
 						slave.fetish = "pregnancy";
 					}
@@ -1456,7 +1456,7 @@ globalThis.birth = function(slave, {birthStorm = false, cSection = false, artRen
 						r.push(App.UI.DOM.makeElement("span", `strengthens`, "lightcoral"));
 						r.push(`as ${he} eagerly fantasizes about giving birth in public again.`);
 						slave.fetishStrength += 4;
-					} else if (slave.fetish === "none" || slave.fetishStrength <= 60) {
+					} else if (slave.fetish === Fetish.NONE || slave.fetishStrength <= 60) {
 						r.push(`and a curious experience to ${him}.`);
 						if (random(1, 5) === 1) {
 							r.push(App.UI.DOM.makeElement("span", `${He} has developed a humiliation fetish.`, "lightcoral"));
diff --git a/src/js/slaveCostJS.js b/src/js/slaveCostJS.js
index 41f0b0c3f6c213ad205744d231876d85b08b1dfd..37720ff3d2b7be557be27636a2d042016d7baf20 100644
--- a/src/js/slaveCostJS.js
+++ b/src/js/slaveCostJS.js
@@ -1979,7 +1979,7 @@ globalThis.FResultArray = (function() {
 		if (slave.tail === "sex") {
 			adjustFResult(`Tail: Sex`, 1);
 		}
-		if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish !== "none") {
+		if (slave.fetishKnown === 1 && slave.fetishStrength > 60 && slave.fetish !== Fetish.NONE) {
 			adjustFResult(`Fetish: Known`, slave.fetishStrength / 5);
 		}
 
@@ -2569,7 +2569,7 @@ globalThis.slaveCostBeauty = function(slave, isStartingSlave, followLaws, isSpec
 		if (slave.fetishKnown === 1) {
 			if (slave.fetish === Fetish.MINDBROKEN) {
 				updateMultiplier(`mindbroken`, -0.3);
-			} else if (slave.fetish !== "none") {
+			} else if (slave.fetish !== Fetish.NONE) {
 				updateMultiplier(`fetish`, slave.fetishStrength / 1000);
 			}
 		} else {
diff --git a/src/js/slaveSummaryHelpers.js b/src/js/slaveSummaryHelpers.js
index 80cb0d3f5af95a1fccde35df8a40716553101c6c..024a763de8ce111955c3ce3ce5afc096b9f9cd9c 100644
--- a/src/js/slaveSummaryHelpers.js
+++ b/src/js/slaveSummaryHelpers.js
@@ -438,7 +438,7 @@ App.UI.SlaveSummaryImpl = function() {
 					return value + spData.setting.all;
 				} else if ((slave.energy > 5) && (slave.clitSetting === "none")) {
 					return value + spData.setting.none;
-				} else if (((slave.fetish !== "none") && (slave.clitSetting === "vanilla"))) {
+				} else if (((slave.fetish !== Fetish.NONE) && (slave.clitSetting === "vanilla"))) {
 					return value + spData.setting.vanilla;
 				} else if (slave.fetishStrength <= 95 || slave.fetish !== slave.clitSetting) {
 					const s = value + spData.setting[slave.clitSetting];
diff --git a/src/npc/children/childSummary.js b/src/npc/children/childSummary.js
index 66430d358c44263a146f7a23d014305ec2bd5202..4bbb1fb025339cd1a656d9d3e2b1383099e18c0e 100644
--- a/src/npc/children/childSummary.js
+++ b/src/npc/children/childSummary.js
@@ -3081,7 +3081,7 @@ App.Facilities.Nursery.ChildSummary = function(child) {
 				r += `SP:dom`;
 			} else if (((child.fetish !== "pregnancy") || (child.fetishStrength <= 95)) && (child.clitSetting === "pregnancy")) {
 				r += `SP:preg`;
-			} else if (((child.fetish !== "none") && (child.clitSetting === "vanilla"))) {
+			} else if (((child.fetish !== Fetish.NONE) && (child.clitSetting === "vanilla"))) {
 				r += `SP:vanilla`;
 			} else if ((child.energy <= 95) && (child.clitSetting === "all")) {
 				r += `SP:all`;
@@ -3539,7 +3539,7 @@ App.Facilities.Nursery.ChildSummary = function(child) {
 				r += `SP: dominance. `;
 			} else if (((child.fetish !== "pregnancy") || (child.fetishStrength <= 95)) && (child.clitSetting === "pregnancy")) {
 				r += `SP: pregnancy. `;
-			} else if ((child.fetish !== "none") && (child.clitSetting === "vanilla")) {
+			} else if ((child.fetish !== Fetish.NONE) && (child.clitSetting === "vanilla")) {
 				r += `SP: vanilla. `;
 			} else if ((child.energy <= 95) && (child.clitSetting === "all")) {
 				r += `SP: all. `;
diff --git a/src/npc/generate/generateGenetics.js b/src/npc/generate/generateGenetics.js
index d65d6fba7d85ee9aa073510a67d63467474ad4d7..07725c1cc7c2dcb8dfea1beb557fc74e082442ce 100644
--- a/src/npc/generate/generateGenetics.js
+++ b/src/npc/generate/generateGenetics.js
@@ -1211,7 +1211,7 @@ globalThis.generateChild = function(mother, ovum, incubator = false) {
 		child.energy = 0;
 		child.anus = 0;
 		if (child.vagina > 0) { child.vagina = 0; }
-		if (child.fetish !== "none") { child.fetishStrength = 20; }
+		if (child.fetish !== Fetish.NONE) { child.fetishStrength = 20; }
 		if (child.dick > 0) {
 			child.foreskin = 1;
 			child.balls = 1;
diff --git a/src/npc/generate/generateMarketSlave.js b/src/npc/generate/generateMarketSlave.js
index 6d3999f1704146e03b4105437750c4e061cb6642..ad899adb8d2dbab1cd049679b59655fc114bb7d2 100644
--- a/src/npc/generate/generateMarketSlave.js
+++ b/src/npc/generate/generateMarketSlave.js
@@ -943,7 +943,7 @@ globalThis.generateMarketSlave = function(market = "kidnappers", numArcology = 1
 				if (jsRandom(0, 3) === 0) {
 					slave.behavioralFlaw = "gluttonous";
 				}
-				if (slave.fetish === "none") {
+				if (slave.fetish === Fetish.NONE) {
 					slave.fetish = jsEither(["boobs", "buttslut", "cumslut", "dom", "humiliation", "masochist", "pregnancy", "sadist", "submissive"]);
 				}
 				slave.fetishStrength = jsRandom(60, 90);
diff --git a/src/npc/generate/newSlaveIntro.js b/src/npc/generate/newSlaveIntro.js
index 677eb5f5414daa3a6a9f35634200698bd54c3fb4..344287aac1895532ceca6d9c8783700012ac01cc 100644
--- a/src/npc/generate/newSlaveIntro.js
+++ b/src/npc/generate/newSlaveIntro.js
@@ -2588,7 +2588,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 						if (tankBorn) {
 							r.push(`${he} moans lewdly and relaxes, giving in to the tank's teachings. ${He} might not be an impregnation fetishist, but ${he} is <span class="hotpink">willing to submit</span> to have ${his} body used as your receptacle and may even grow to enjoy it.`);
 							slave.devotion += 4;
-							if (random(1, 100) > 60 && slave.fetish === "none") {
+							if (random(1, 100) > 60 && slave.fetish === Fetish.NONE) {
 								slave.fetish = "pregnancy";
 								slave.fetishStrength = 20;
 							}
@@ -2954,7 +2954,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							}
 							r.push(`the passing spectators. ${He} might not be a humiliation fetishist, but ${he} is <span class="hotpink">willing to submit</span> to being used as a sex slave in public and may even grow to enjoy it.`);
 							slave.devotion += 4;
-							if (random(1, 100) > 60 && slave.fetish === "none") {
+							if (random(1, 100) > 60 && slave.fetish === Fetish.NONE) {
 								slave.fetish = "humiliation";
 								slave.fetishStrength = 20;
 							}
@@ -3104,7 +3104,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 
 							slave.trust += 5;
 							r.push(VCheck.Vaginal(slave, 1));
-							if (slave.fetish === "none" && jsRandom(1, 100) > 60) {
+							if (slave.fetish === Fetish.NONE && jsRandom(1, 100) > 60) {
 								slave.fetish = "pregnancy";
 								slave.fetishStrength = 10;
 							}
@@ -3215,7 +3215,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 								slave.lactationDuration = 2;
 							}
 							slave.devotion += 4;
-							if (random(1, 100) > 60 && slave.fetish === "none") {
+							if (random(1, 100) > 60 && slave.fetish === Fetish.NONE) {
 								slave.fetish = "boobs";
 								slave.fetishStrength = 20;
 							}
@@ -3276,7 +3276,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 							}
 							r.push(`in cum and <span class="hotpink">thrilled to be the center of attention.</span> Though ${he} may not be a cumslut now, ${he} certainly has the potential to become one.`);
 							slave.devotion += 4;
-							if (random(1, 100) > 60 && slave.fetish === "none") {
+							if (random(1, 100) > 60 && slave.fetish === Fetish.NONE) {
 								slave.fetish = "cumslut";
 								slave.fetishStrength = 20;
 							}
@@ -3308,7 +3308,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 									r.push(`licking ${hisU} cunt,`);
 								}
 								r.push(`hitting all the right places and making the helpless ${girlU} squirm with pleasure. Any plea for mercy results in a renewed effort to push the ${girlU} over the edge. ${slave.slaveName} is certainly <span class="hotpink">enjoying ${his} treat,</span> and by the looks of things, may be a developing dom!`);
-								if (random(1, 100) > 60 && slave.fetish === "none") {
+								if (random(1, 100) > 60 && slave.fetish === Fetish.NONE) {
 									slave.fetish = "dom";
 									slave.fetishStrength = 20;
 								}
@@ -3321,7 +3321,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 									r.push(`ram ${his} arm deep into ${his} toy's cunt`);
 								}
 								r.push(`causing the hapless ${girlU} to writhe in discomfort. Any plea for mercy results in even more intense torment. ${slave.slaveName} is certainly <span class="hotpink">enjoying ${his} treat,</span> and by the looks of things, may be a developing sadist!`);
-								if (random(1, 100) > 60 && slave.fetish === "none") {
+								if (random(1, 100) > 60 && slave.fetish === Fetish.NONE) {
 									slave.fetish = "sadist";
 									slave.fetishStrength = 20;
 								}
@@ -3381,7 +3381,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 								r.push(`${he} shoves you onto your back and deeply penetrates you. Before you can kick ${him} off, ${he} thrusts twice and unloads ${his} pent up orgasm deep into your pussy. ${He} pulls out with a huge smile on ${his} face and a <span class="hotpink">deep love</span> for ${his} mate. You glower at ${him} as cum pools from your stretched cunt; ${he} might not be a dom now, but ${he} may certainly become one.`);
 								slave.devotion += 5;
 								seX(slave, "penetrative", V.PC, "vaginal");
-								if (random(1, 100) > 60 && slave.fetish === "none") {
+								if (random(1, 100) > 60 && slave.fetish === Fetish.NONE) {
 									slave.fetish = "dom";
 									slave.fetishStrength = 20;
 								}
@@ -3534,7 +3534,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 								}
 								r.push(`${He} spends a lot of time comparing your belly to ${his} own; ${he} might not be a pregnancy fetishist, but it seems likely ${he} may become one.`);
 								slave.devotion += 5;
-								if (random(1, 100) > 40 && slave.fetish === "none") {
+								if (random(1, 100) > 40 && slave.fetish === Fetish.NONE) {
 									slave.fetish = "pregnancy";
 									slave.fetishStrength = 20;
 								}
@@ -3589,7 +3589,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 											} else {
 												actX(slave, "oral", 1);
 											}
-											if (random(1, 100) > 40 && slave.fetish === "none") {
+											if (random(1, 100) > 40 && slave.fetish === Fetish.NONE) {
 												slave.fetish = "pregnancy";
 												slave.fetishStrength = 20;
 											}
@@ -3607,7 +3607,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 											r.push(`Once ${he} drains you of your supply, you <span class="mediumaquamarine">cuddle up to ${him}</span> and allow ${him} to caress your body. ${He} spends a lot of time comparing your belly to ${his} own, ${he} might not be a pregnancy fetishist, but it seems likely ${he} may become one.`);
 											slave.devotion += 15;
 											slave.trust += 15;
-											if (random(1, 100) > 40 && slave.fetish === "none") {
+											if (random(1, 100) > 40 && slave.fetish === Fetish.NONE) {
 												slave.fetish = "pregnancy";
 												slave.fetishStrength = 20;
 											}
@@ -3767,7 +3767,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 										r.push(`Suddenly, ${he} shoves you onto your back and begins enthusiastically fucking your breasts. Before you can push ${him} off, ${he} thrusts hard and unloads ${his} pent-up orgasm deep into your cleavage and across your face. ${He} sits back with a huge smile on ${his} face and a <span class="hotpink">new connection to you.</span> ${He} <span class="gold">recoils in surprise and fear</span> when you respond by slapping ${him} across the face for ${his} impudence. ${He} might not look like a dom, but ${he} may turn into one.`);
 										slave.devotion += 5;
 										slave.trust -= 5;
-										if (random(1, 100) > 60 && slave.fetish === "none") {
+										if (random(1, 100) > 60 && slave.fetish === Fetish.NONE) {
 											slave.fetish = "dom";
 											slave.fetishStrength = 20;
 										}
@@ -3853,7 +3853,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 										}
 										r.push(`a <span class="hotpink">lasting bond</span> is established between you two. ${He} happily returns to snuggling your tits before you can help ${him} up and send ${him} off. ${He} might be turning into a breast fetishist, if you had to guess.`);
 										slave.devotion += 5;
-										if (random(1, 100) > 40 && slave.fetish === "none") {
+										if (random(1, 100) > 40 && slave.fetish === Fetish.NONE) {
 											slave.fetish = "boobs";
 											slave.fetishStrength = 20;
 										}
@@ -4070,7 +4070,7 @@ App.UI.newSlaveIntro = function(slave, slave2, {tankBorn = false, momInterest =
 					if (tankBorn) {
 						r.push(`${He} gasps with surprise, but does not object or try to escape. ${He} accepts the spanking, viewing it as a game, and taunts your hand with ${his} rear; by the end, ${he} may even be starting to enjoy it. You're not particularly harsh, and ${he} gets up after you tire of swatting ${his} bottom <span class="hotpink">with a smile</span> on ${his} face.`);
 						slave.devotion += 4;
-						if (random(1, 100) > 60 && slave.fetish === "none") {
+						if (random(1, 100) > 60 && slave.fetish === Fetish.NONE) {
 							slave.fetish = "masochist";
 							slave.fetishStrength = 20;
 						}
diff --git a/src/npc/interaction/fAnus.js b/src/npc/interaction/fAnus.js
index 9fe26b61bfb337cd40a849c6cd1ef4f01399f47a..298c11e75e19b45e4025a80be4d9b86e3fa35fc8 100644
--- a/src/npc/interaction/fAnus.js
+++ b/src/npc/interaction/fAnus.js
@@ -393,7 +393,7 @@ App.Interact.fAnus = function(slave) {
 	}
 
 	function slaveGainsQuirk() {
-		if (slave.fetish === "none" && slave.sexualFlaw !== "hates anal") {
+		if (slave.fetish === Fetish.NONE && slave.sexualFlaw !== "hates anal") {
 			slave.fetish = "buttslut";
 			slave.fetishKnown = 1;
 
diff --git a/src/npc/interaction/fBeg.js b/src/npc/interaction/fBeg.js
index 673d56ad331ba8e14940245411aadfa1b410b5dc..958d5de7b160895d04902dd69a197e5758b7a3f0 100644
--- a/src/npc/interaction/fBeg.js
+++ b/src/npc/interaction/fBeg.js
@@ -688,7 +688,7 @@ App.Interact.fBeg = function(slave) {
 	}
 
 	function slaveGainsQuirk() {
-		if (slave.fetish === "none" && slave.behavioralFlaw !== "liberated") {
+		if (slave.fetish === Fetish.NONE && slave.behavioralFlaw !== "liberated") {
 			slave.fetish = "submissive";
 			slave.fetishKnown = 1;
 
diff --git a/src/npc/interaction/fBoobs.js b/src/npc/interaction/fBoobs.js
index 0fd3c45186b204e45ea11b3e2157d3df6033721e..d8100b679dad376020f3f4c904f5b5de2d8b78bc 100644
--- a/src/npc/interaction/fBoobs.js
+++ b/src/npc/interaction/fBoobs.js
@@ -314,7 +314,7 @@ App.Interact.fBoobs = function(slave) {
 			}
 		}
 	} else if (random(1, 100) > (110-slave.devotion)) {
-		if (slave.fetish === "none" &&
+		if (slave.fetish === Fetish.NONE &&
 		(slave.behavioralFlaw !== "hates men" || V.PC.dick === 0) &&
 		(slave.behavioralFlaw !== "hates women" || V.PC.dick > 0)
 		) {
diff --git a/src/npc/interaction/fButt.js b/src/npc/interaction/fButt.js
index 894f714e077ad283e406122d32400ad295f1f104..cfd47ece188db81c605a632dc8d8ef961e044d57 100644
--- a/src/npc/interaction/fButt.js
+++ b/src/npc/interaction/fButt.js
@@ -372,7 +372,7 @@ App.Interact.fButt = function(slave) {
 	}
 
 	function slaveGainsQuirk() {
-		if (slave.fetish === "none" && slave.sexualFlaw !== "hates penetration") {
+		if (slave.fetish === Fetish.NONE && slave.sexualFlaw !== "hates penetration") {
 			slave.fetish = "buttslut";
 			slave.fetishKnown = 1;
 
diff --git a/src/npc/interaction/fDance.js b/src/npc/interaction/fDance.js
index cb79ce5fb0b6eeb4768808e2cb74b08a2c393d0f..635c2db45019e5dd66f55102d0243ee4f9beca3a 100644
--- a/src/npc/interaction/fDance.js
+++ b/src/npc/interaction/fDance.js
@@ -2046,7 +2046,7 @@ App.Interact.fDance = function(slave) {
 	}
 
 	function slaveGainsQuirk() {
-		if (slave.fetish === "none" && slave.sexualFlaw !== "shamefast") {
+		if (slave.fetish === Fetish.NONE && slave.sexualFlaw !== "shamefast") {
 			slave.fetish = "humiliation";
 			slave.fetishKnown = 1;
 
diff --git a/src/npc/interaction/fLips.js b/src/npc/interaction/fLips.js
index 86c07f360a994ee0612c88a57607013775186228..8cae92531cad671233e78441273c61a277da39f9 100644
--- a/src/npc/interaction/fLips.js
+++ b/src/npc/interaction/fLips.js
@@ -425,7 +425,7 @@ App.Interact.fLips = function(slave) {
 			slave.sexualFlaw = "hates oral";
 		}
 	} else if (random(1, 100) > (110 - slave.devotion)) {
-		if (V.PC.dick !== 0 && slave.fetish === "none" && slave.sexualFlaw !== "hates oral") {
+		if (V.PC.dick !== 0 && slave.fetish === Fetish.NONE && slave.sexualFlaw !== "hates oral") {
 			r.push(`Consummating an enjoyable sexual encounter by drinking your cum has <span class="fetish gain">encouraged ${him} to focus on oral sex.</span>`);
 			slave.fetish = "cumslut";
 			slave.fetishKnown = 1;
diff --git a/src/npc/interaction/fVagina.js b/src/npc/interaction/fVagina.js
index 37643c4725f1d346b1f3c7cee4aa94ea6cc28f48..c3d49fc66b32c6333add01cc1f7988866a119a63 100644
--- a/src/npc/interaction/fVagina.js
+++ b/src/npc/interaction/fVagina.js
@@ -1116,7 +1116,7 @@ App.Interact.fVagina = function(slave) {
 			slave.sexualFlaw = "hates penetration";
 		}
 	} else if (random(1, 100) > (110 - slave.devotion)) {
-		if (slave.fetish === "none" && slave.energy <= 95 && slave.sexualFlaw !== "hates penetration" && slave.ovaries === 1 || slave.mpreg === 1) {
+		if (slave.fetish === Fetish.NONE && slave.energy <= 95 && slave.sexualFlaw !== "hates penetration" && slave.ovaries === 1 || slave.mpreg === 1) {
 			r.push(`Enjoying sex with you seems to have <span class="fetish gain">encouraged ${his} biological clock.</span>`);
 			slave.fetish = "pregnancy";
 			slave.fetishKnown = 1;
diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js
index e177e4f40f4a86c5ef7d3ab1a38ae917065208e2..312d2568044753ee89ef9f15e4cdc2c61ddc1641 100644
--- a/src/npc/startingGirls/startingGirls.js
+++ b/src/npc/startingGirls/startingGirls.js
@@ -1863,7 +1863,7 @@ App.StartingGirls.mental = function(slave, cheat = false) {
 
 	options.addOption("Fetish", "fetishKnown", slave)
 		.addValue("Unknown", 0, () => {
-			if (!cheat && slave.fetish !== "none") {
+			if (!cheat && slave.fetish !== Fetish.NONE) {
 				slave.fetish = rollRandomFetish();
 			}
 		})
@@ -1885,7 +1885,7 @@ App.StartingGirls.mental = function(slave, cheat = false) {
 		});
 	}
 
-	if (slave.fetish !== "none" && slave.fetish !== Fetish.MINDBROKEN) {
+	if (slave.fetish !== Fetish.NONE && slave.fetish !== Fetish.MINDBROKEN) {
 		App.StartingGirls.addSet(
 			options.addOption("Fetish strength", "fetishStrength", slave),
 			App.Data.StartingGirls.fetishStrength);