diff --git a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXGlobalStates.cs b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXGlobalStates.cs
index 5d77a14188daf5ceaaaccb0c8e5bc4c857b251ff..97e25e2a9e9f7e6ac5d0dec0d25fd67a5d0049bf 100644
--- a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXGlobalStates.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXGlobalStates.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.Accessibility{
 	/// <summary>
 	/// States which apply to every AX node.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum AXGlobalStates
 	{
 			Disabled,
diff --git a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXLiveRegionAttributes.cs b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXLiveRegionAttributes.cs
index b61f957aa8c7fcdc4e180cb7c0b7e3e3ae2c701e..b14d9e6e9f9b353c623ccaabbd3d937a1bf9d983 100644
--- a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXLiveRegionAttributes.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXLiveRegionAttributes.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.Accessibility{
 	/// <summary>
 	/// Attributes which apply to nodes in live regions.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum AXLiveRegionAttributes
 	{
 			Live,
diff --git a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXPropertySourceType.cs b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXPropertySourceType.cs
index 47578899fd91e2ce71466b864aff6de872522e6a..86e7d840e3ab17e8100c32319fc34b6a52163cb6 100644
--- a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXPropertySourceType.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXPropertySourceType.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.Accessibility{
 	/// <summary>
 	/// Enum of possible property sources.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum AXPropertySourceType
 	{
 			Attribute,
diff --git a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXRelationshipAttributes.cs b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXRelationshipAttributes.cs
index 96ed84e320a028889ca65092486e9d601679d5e2..b9a77e6a5221f9f676b072a2d611b32743a691cd 100644
--- a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXRelationshipAttributes.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXRelationshipAttributes.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.Accessibility{
 	/// <summary>
 	/// Relationships between elements other than parent/child/sibling.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum AXRelationshipAttributes
 	{
 			Activedescendant,
diff --git a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXValueType.cs b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXValueType.cs
index c08a1b53b1887c89453ffb7ae7a23939442aa8a2..e3e2bca045bdfff3c64d72a49842de2bb42602e3 100644
--- a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXValueType.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXValueType.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.Accessibility{
 	/// <summary>
 	/// Enum of possible property types.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum AXValueType
 	{
 			Boolean,
diff --git a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXWidgetAttributes.cs b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXWidgetAttributes.cs
index 77ad5f8831b08965cb5ec8301690b522b4b11935..7b5eb1a1dad00db8b993f2887f28ec7fab387a0c 100644
--- a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXWidgetAttributes.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXWidgetAttributes.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.Accessibility{
 	/// <summary>
 	/// Attributes which apply to widgets.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum AXWidgetAttributes
 	{
 			Autocomplete,
diff --git a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXWidgetStates.cs b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXWidgetStates.cs
index 44acec71f08c1c4fd2554a80a271e6309589529b..210cf0dcdb1a5ed1eede2a9b79d4fc3947290f27 100644
--- a/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXWidgetStates.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/Accessibility/AXWidgetStates.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.Accessibility{
 	/// <summary>
 	/// States which apply to widgets.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum AXWidgetStates
 	{
 			Checked,
diff --git a/source/ChromeDevTools/Protocol/Chrome/CSS/StyleSheetOrigin.cs b/source/ChromeDevTools/Protocol/Chrome/CSS/StyleSheetOrigin.cs
index 830ef6cfb0a35bffddf6b8ff6db79b8c55c7d43d..4eda145f90e6aa075414e1c1c64bd98f126242e8 100644
--- a/source/ChromeDevTools/Protocol/Chrome/CSS/StyleSheetOrigin.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/CSS/StyleSheetOrigin.cs
@@ -1,12 +1,18 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.CSS{
 	/// <summary>
 	/// Stylesheet type: "injected" for stylesheets injected via extension, "user-agent" for user-agent stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via inspector" rules), "regular" for regular stylesheets.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum StyleSheetOrigin
 	{
 			Injected,
+			[EnumMember(Value = "user-agent")]
 			User_agent,
 			Inspector,
 			Regular,
diff --git a/source/ChromeDevTools/Protocol/Chrome/DOM/PseudoType.cs b/source/ChromeDevTools/Protocol/Chrome/DOM/PseudoType.cs
index a16cfa17011c140aea0db70d2ad2c1d2af28070c..bf366134f1b9b78f5f37828b9c29651b350069d2 100644
--- a/source/ChromeDevTools/Protocol/Chrome/DOM/PseudoType.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/DOM/PseudoType.cs
@@ -1,25 +1,39 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.DOM{
 	/// <summary>
 	/// Pseudo element type.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum PseudoType
 	{
+			[EnumMember(Value = "first-line")]
 			First_line,
+			[EnumMember(Value = "first-letter")]
 			First_letter,
 			Before,
 			After,
 			Backdrop,
 			Selection,
+			[EnumMember(Value = "first-line-inherited")]
 			First_line_inherited,
 			Scrollbar,
+			[EnumMember(Value = "scrollbar-thumb")]
 			Scrollbar_thumb,
+			[EnumMember(Value = "scrollbar-button")]
 			Scrollbar_button,
+			[EnumMember(Value = "scrollbar-track")]
 			Scrollbar_track,
+			[EnumMember(Value = "scrollbar-track-piece")]
 			Scrollbar_track_piece,
+			[EnumMember(Value = "scrollbar-corner")]
 			Scrollbar_corner,
 			Resizer,
+			[EnumMember(Value = "input-list-button")]
 			Input_list_button,
 	}
 }
diff --git a/source/ChromeDevTools/Protocol/Chrome/DOM/ShadowRootType.cs b/source/ChromeDevTools/Protocol/Chrome/DOM/ShadowRootType.cs
index 06310762197bd8bb6e5868ae18d59dbd6c30c2c7..3746acf25b4df7f9c601b0a7b13b7376afa15d20 100644
--- a/source/ChromeDevTools/Protocol/Chrome/DOM/ShadowRootType.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/DOM/ShadowRootType.cs
@@ -1,11 +1,17 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.DOM{
 	/// <summary>
 	/// Shadow root type.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum ShadowRootType
 	{
+			[EnumMember(Value = "user-agent")]
 			User_agent,
 			Author,
 	}
diff --git a/source/ChromeDevTools/Protocol/Chrome/DOMDebugger/DOMBreakpointType.cs b/source/ChromeDevTools/Protocol/Chrome/DOMDebugger/DOMBreakpointType.cs
index 8f0b58d5255e2c21e746db0b25db87b4294f332e..ee2e77cc436ccd1fff2733699204fc31a069bfbd 100644
--- a/source/ChromeDevTools/Protocol/Chrome/DOMDebugger/DOMBreakpointType.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/DOMDebugger/DOMBreakpointType.cs
@@ -1,13 +1,21 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.DOMDebugger{
 	/// <summary>
 	/// DOM breakpoint type.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum DOMBreakpointType
 	{
+			[EnumMember(Value = "subtree-modified")]
 			Subtree_modified,
+			[EnumMember(Value = "attribute-modified")]
 			Attribute_modified,
+			[EnumMember(Value = "node-removed")]
 			Node_removed,
 	}
 }
diff --git a/source/ChromeDevTools/Protocol/Chrome/Input/GestureSourceType.cs b/source/ChromeDevTools/Protocol/Chrome/Input/GestureSourceType.cs
index 24e24d464ac7957ed3fb31605a1afb8659bd81b9..0a633db8368df6a9a6d4c0dcb030b064bef6e4b4 100644
--- a/source/ChromeDevTools/Protocol/Chrome/Input/GestureSourceType.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/Input/GestureSourceType.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.Input{
 	/// <summary>
 	/// 
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum GestureSourceType
 	{
 			Default,
diff --git a/source/ChromeDevTools/Protocol/Chrome/Page/ResourceType.cs b/source/ChromeDevTools/Protocol/Chrome/Page/ResourceType.cs
index 26ca72228ca6540e30e592eb0b93a913025440d0..54560f57b9328f1b81769d38953347d9679989e5 100644
--- a/source/ChromeDevTools/Protocol/Chrome/Page/ResourceType.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/Page/ResourceType.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.Page{
 	/// <summary>
 	/// Resource type as it was perceived by the rendering engine.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum ResourceType
 	{
 			Document,
diff --git a/source/ChromeDevTools/Protocol/Chrome/ServiceWorker/ServiceWorkerVersionRunningStatus.cs b/source/ChromeDevTools/Protocol/Chrome/ServiceWorker/ServiceWorkerVersionRunningStatus.cs
index 2eb381995d18acfcb1b3a46cf72eaab6814e90dc..cc935d1b4435bd843819aadc9c9f8c43db8006be 100644
--- a/source/ChromeDevTools/Protocol/Chrome/ServiceWorker/ServiceWorkerVersionRunningStatus.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/ServiceWorker/ServiceWorkerVersionRunningStatus.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.ServiceWorker{
 	/// <summary>
 	/// 
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum ServiceWorkerVersionRunningStatus
 	{
 			Stopped,
diff --git a/source/ChromeDevTools/Protocol/Chrome/ServiceWorker/ServiceWorkerVersionStatus.cs b/source/ChromeDevTools/Protocol/Chrome/ServiceWorker/ServiceWorkerVersionStatus.cs
index 921ceba9ea1f6dbb59b14be618463a84e94bdb2f..bbf23a38f64f75ffac63faf43cc4206a52037ef2 100644
--- a/source/ChromeDevTools/Protocol/Chrome/ServiceWorker/ServiceWorkerVersionStatus.cs
+++ b/source/ChromeDevTools/Protocol/Chrome/ServiceWorker/ServiceWorkerVersionStatus.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.Chrome.ServiceWorker{
 	/// <summary>
 	/// 
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum ServiceWorkerVersionStatus
 	{
 			New,
diff --git a/source/ChromeDevTools/Protocol/iOS/CSS/CSSPropertyStatus.cs b/source/ChromeDevTools/Protocol/iOS/CSS/CSSPropertyStatus.cs
index 399be8091f51865151781f32d429f666b0874fc5..7ef7bed6ef5a5597292b0518882d7ee3c70c758c 100644
--- a/source/ChromeDevTools/Protocol/iOS/CSS/CSSPropertyStatus.cs
+++ b/source/ChromeDevTools/Protocol/iOS/CSS/CSSPropertyStatus.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.iOS.CSS{
 	/// <summary>
 	/// The property status: "active" if the property is effective in the style, "inactive" if the property is overridden by a same-named property in this style later on, "disabled" if the property is disabled by the user, "style" (implied if absent) if the property is reported by the browser rather than by the CSS source parser.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum CSSPropertyStatus
 	{
 			Active,
diff --git a/source/ChromeDevTools/Protocol/iOS/CSS/StyleSheetOrigin.cs b/source/ChromeDevTools/Protocol/iOS/CSS/StyleSheetOrigin.cs
index 8173e053d7fdab516bcdf1096ca3d8c900d265a1..ff007ca276265248250ce321fe72fd87809e6ca6 100644
--- a/source/ChromeDevTools/Protocol/iOS/CSS/StyleSheetOrigin.cs
+++ b/source/ChromeDevTools/Protocol/iOS/CSS/StyleSheetOrigin.cs
@@ -1,12 +1,18 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.iOS.CSS{
 	/// <summary>
 	/// Stylesheet type: "user" for user stylesheets, "user-agent" for user-agent stylesheets, "inspector" for stylesheets created by the inspector (i.e. those holding the "via inspector" rules), "regular" for regular stylesheets.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum StyleSheetOrigin
 	{
 			User,
+			[EnumMember(Value = "user-agent")]
 			User_agent,
 			Inspector,
 			Regular,
diff --git a/source/ChromeDevTools/Protocol/iOS/DOM/LiveRegionRelevant.cs b/source/ChromeDevTools/Protocol/iOS/DOM/LiveRegionRelevant.cs
index 856cc905a73fb9a2f2d37321c430a9de2321e897..b93a972ab7e762b73e6e8fb8d23958d094141b48 100644
--- a/source/ChromeDevTools/Protocol/iOS/DOM/LiveRegionRelevant.cs
+++ b/source/ChromeDevTools/Protocol/iOS/DOM/LiveRegionRelevant.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.iOS.DOM{
 	/// <summary>
 	/// Token values of @aria-relevant attribute.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum LiveRegionRelevant
 	{
 			Additions,
diff --git a/source/ChromeDevTools/Protocol/iOS/DOM/PseudoType.cs b/source/ChromeDevTools/Protocol/iOS/DOM/PseudoType.cs
index 1b15302fa77ef4ebdc02b9a15ea6dc1026be44b6..629c6638c2c8d488b7fc0c825d787055643820a8 100644
--- a/source/ChromeDevTools/Protocol/iOS/DOM/PseudoType.cs
+++ b/source/ChromeDevTools/Protocol/iOS/DOM/PseudoType.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.iOS.DOM{
 	/// <summary>
 	/// Pseudo element type.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum PseudoType
 	{
 			Before,
diff --git a/source/ChromeDevTools/Protocol/iOS/DOMDebugger/DOMBreakpointType.cs b/source/ChromeDevTools/Protocol/iOS/DOMDebugger/DOMBreakpointType.cs
index 0d748afe42e686df1c88ee5d57906d0791608af8..e94274fa80b04678fdc056bbc9a90f5e6ea8fe00 100644
--- a/source/ChromeDevTools/Protocol/iOS/DOMDebugger/DOMBreakpointType.cs
+++ b/source/ChromeDevTools/Protocol/iOS/DOMDebugger/DOMBreakpointType.cs
@@ -1,13 +1,21 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.iOS.DOMDebugger{
 	/// <summary>
 	/// DOM breakpoint type.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum DOMBreakpointType
 	{
+			[EnumMember(Value = "subtree-modified")]
 			Subtree_modified,
+			[EnumMember(Value = "attribute-modified")]
 			Attribute_modified,
+			[EnumMember(Value = "node-removed")]
 			Node_removed,
 	}
 }
diff --git a/source/ChromeDevTools/Protocol/iOS/Page/CoordinateSystem.cs b/source/ChromeDevTools/Protocol/iOS/Page/CoordinateSystem.cs
index cf885a0bc2b504ce23c063f56ab3dd154ebbbe41..99c7fce4471b0a3bb016e91701177f6376660a7b 100644
--- a/source/ChromeDevTools/Protocol/iOS/Page/CoordinateSystem.cs
+++ b/source/ChromeDevTools/Protocol/iOS/Page/CoordinateSystem.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.iOS.Page{
 	/// <summary>
 	/// Coordinate system used by supplied coordinates.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum CoordinateSystem
 	{
 			Viewport,
diff --git a/source/ChromeDevTools/Protocol/iOS/Page/ResourceType.cs b/source/ChromeDevTools/Protocol/iOS/Page/ResourceType.cs
index 163f7d11648b1c17d2e22ea38122b47c275d3b67..dd7d18e87442494d5526fc3aa379984c78d25274 100644
--- a/source/ChromeDevTools/Protocol/iOS/Page/ResourceType.cs
+++ b/source/ChromeDevTools/Protocol/iOS/Page/ResourceType.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.iOS.Page{
 	/// <summary>
 	/// Resource type as it was perceived by the rendering engine.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum ResourceType
 	{
 			Document,
diff --git a/source/ChromeDevTools/Protocol/iOS/Runtime/SyntaxErrorType.cs b/source/ChromeDevTools/Protocol/iOS/Runtime/SyntaxErrorType.cs
index 283703c3761802f31dcc2c0269aeb1be5f96ea4e..771c5cae5222e5c4d8ff2a54e8f27446b6dfc3fa 100644
--- a/source/ChromeDevTools/Protocol/iOS/Runtime/SyntaxErrorType.cs
+++ b/source/ChromeDevTools/Protocol/iOS/Runtime/SyntaxErrorType.cs
@@ -1,13 +1,19 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.iOS.Runtime{
 	/// <summary>
 	/// Syntax error type: "none" for no error, "irrecoverable" for unrecoverable errors, "unterminated-literal" for when there is an unterminated literal, "recoverable" for when the expression is unfinished but valid so far.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum SyntaxErrorType
 	{
 			None,
 			Irrecoverable,
+			[EnumMember(Value = "unterminated-literal")]
 			Unterminated_literal,
 			Recoverable,
 	}
diff --git a/source/ChromeDevTools/Protocol/iOS/Timeline/EventType.cs b/source/ChromeDevTools/Protocol/iOS/Timeline/EventType.cs
index 451e254dacd884bac7cfa08f6d50b06409ee3350..df9574f3a4bf4df686473bc0619984ecac7bddaf 100644
--- a/source/ChromeDevTools/Protocol/iOS/Timeline/EventType.cs
+++ b/source/ChromeDevTools/Protocol/iOS/Timeline/EventType.cs
@@ -1,9 +1,14 @@
 using MasterDevs.ChromeDevTools;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Runtime.Serialization;
+
 
 namespace MasterDevs.ChromeDevTools.Protocol.iOS.Timeline{
 	/// <summary>
 	/// Timeline record type.
 	/// </summary>
+	[JsonConverter(typeof(StringEnumConverter))]
 	public enum EventType
 	{
 			EventDispatch,