c# enum wont show in inspector

using UnityEngine;
using System.Collections;

[System.Serializable]
public class Items{

	public string name;
	public string description;
	public int id;
	public Texture2D icon;
	public GameObject gobject;
	public enum lolol{weapon,weapon2,health,armor};
	
}

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class Inventorya : MonoBehaviour {
	public List<Items> Inventory;
	public Items[] bag;
	public enum hello{};

on the list and array it shows the name descrip etc but not the enum one. it doesnt even show the hello enum in the description in the inspector.

Example of how to use an enum and allow it to show in inspector:

using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour 
{
	//Define Enum
	public enum TestEnum{Test1, Test2, Test3};
	
	//This is what you need to show in the inspector.
	public TestEnum Tests;
}

I think you are using it wrong. You want to declare the enum outside of the class and create an instance inside the class:

public enum Lolol{Weapon,Weapon2,Health,Armor};

public class Items{
 
public string name;
  public string description;
  public int id;
  public Texture2D icon;
  public GameObject gobject;
  public enum lolol{weapon,weapon2,health,armor};
  public Lolol instanceOfEnum;
  void Start(){
     instanceOfEnum = Lolol.Armor;
  }
}

I also changed the way you wrote it, by convention enumeration are all cap letters (old c way). But we can also see cap front and cap for members.

Why would it show? The enum itself is a list of possible values for some other field. You’ll need a custom editor.